49bc40a55983 wifi: rtlwifi: rtl8192cu: Don't claim USB ID 07b8:8188
8edbe1eecf2f wifi: mwifiex: send world regulatory domain to driver
d04c370c7eca wifi: mt76: fix potential memory leak in mt76_wmac_probe()
aba596b2b6fc wifi: ath10k: avoid unnecessary wait for service ready message
2e955f087334 wifi: mac80211: fix Rx packet handling when pubsta information is not available
695f23561fd0 wifi: rtw89: avoid circular locking dependency in ser_state_run()
67cb933edb7c wifi: ath11k: HAL SRNG: don't deinitialize and re-initialize again
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
e2c8a3c0388a wifi: prevent A-MSDU attacks in mesh networks
adf08c96b963 wifi: zd1211rw: Fix potential NULL pointer dereference in zd_mac_tx_to_dev()
8c767727f331 wifi: rtl818x: Kill URBs before clearing tx status queue
db50476cebc1 wifi: iwlwifi: Fix memory leak in iwl_mvm_init()
6663c52608d8 iwlwifi: Add missing check for alloc_ordered_workqueue
916ac18d526a wifi: ath11k: clear initialized flag for deinit-ed srng lists
363696d8464f wifi: rtl8xxxu: Fix RX skb size for aggregation disabled
b88815ec43cc mwl8k: Add missing check after DMA map
0c84204cf0bb wifi: mac80211: reject TDLS operations when station is not associated
428201d2e0fc wifi: plfxlc: Fix error handling in usb driver probe
7dd33621bef9 wifi: mac80211: Do not schedule stopped TXQs
7d88435075ec wifi: mac80211: Don't call fq_flow_idx() for management frames
3e77cb2b915b wifi: mac80211: Check 802.11 encaps offloading in ieee80211_tx_h_select_key()
c9e78f2fe1f4 Reapply "wifi: mac80211: Update skb's control block key in ieee80211_tx_dequeue()"
d1bf92fef24e wifi: brcmfmac: fix P2P discovery failure in P2P peer due to missing P2P IE
d486ff6734ee wifi: cfg80211: reject HTC bit for management frames
0d9f2cf8a23d wifi: rtw89: Lower the timeout in rtw89_fw_read_c2h_reg() for USB
39ffb7859d5e wifi: iwlwifi: mvm: fix scan request validation
e1ace79c2b78 wifi: mac80211: don't complete management TX on SAE commit
5b658fbf7a29 wifi: rtw89: Fix rtw89_mac_power_switch() for USB
cea647483d4a wifi: rtw89: Disable deep power saving for USB/SDIO
efa92654f3f6 wifi: iwlwifi: dvm: fix potential overflow in rs_fill_link_cmd()
088904e3070e wifi: iwlwifi: fw: Fix possible memory leak in iwl_fw_dbg_collect
31f8b4d46687 wifi: mac80211: update radar_required in channel context after channel switch
b651248da759 wifi: rtlwifi: fix possible skb memory leak in `_rtl_pci_rx_interrupt()`.
715e50062984 wifi: iwlegacy: Check rate_idx range after addition
2e91b756cb70 wifi: rtlwifi: fix possible skb memory leak in _rtl_pci_init_one_rxdesc()
14f157f6419c wifi: brcmsmac: Remove const from tbl_ptr parameter in wlc_lcnphy_common_read_table()
2b94dc1962c6 wifi: ath11k: fix dest ring-buffer corruption
9101ac402cae wifi: ath11k: fix source ring-buffer corruption
90871cdefb57 wifi: ath11k: fix dest ring-buffer corruption when ring is full
602a7b48b42f wifi: mac80211: avoid lockdep checking when removing deflink
3bcb70297742 wifi: mac80211: check basic rates validity in sta_link_apply_parameters
6854476d9e1a wifi: cfg80211: fix use-after-free in cmp_bss()
ec55148e51b5 wifi: cw1200: cap SSID length in cw1200_do_join()
edac15309410 wifi: libertas: cap SSID len in lbs_associate()
8e751d463362 wifi: cfg80211: sme: cap SSID length in __cfg80211_connect_result()
32c124c9c03a wifi: mwifiex: Initialize the chan_stats array to zero
16c9244a6211 wifi: mac80211: increase scan_ies_len for S1G
1f97f6cf81f7 wifi: mac80211: fix incorrect type for ret
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
The RK356x/RK3588 SoCs support up to 10 serial ports.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 672e45e69f)
Specifications:
- SoC: Mediatek MT7622B
- RAM: 256M
- Flash: EN25QH128 16M
- Ethernet: RTL8367S 3xGE
- WiFi: MT7622 2.4G 4x4 + MT7905 5G 4x4
- UART: 3.3v, 115200n8
Flash instruction
Please refer commit 9f73519e62 ("mediatek: add support for TP-Link TL-XDR3230 v1").
This board is basically same as XDR3230 v1 so you can reuse the BL2 and FIP for it.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 70564dc9ab)
It's only used inside spi_nand_read_pp, no reason to make it as a function.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit ec27c0797d)
It's no longer able to decide memory type by USB port, so let's make
the name bit clear.
Please note that the CH version produced in 2025 does not have USB
port but it still uses DDR3 memory.
As far as we know, CH/XW = DDR3, WS = DDR4.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 9e88ba8367)
Hardware specification:
SoC: MediaTek MT7981B 2x A53
Flash: 64GB eMMC or 128 MB SPI-NAND
RAM: 512MB DDR3 or DDR4
Ethernet: 4x 10/100/1000 Mbps
Switch: MediaTek MT7531AE
WiFi: MediaTek MT7976C
Button: Reset, Mesh
Power: DC 12V 1A
Gain SSH access:
1. Login into web interface, and download the configuration.
2. Get the SN of the device from web interface or the label on the back of the device.
3. Calculate configuration decryption password:
Command "eval" is necessary here as the encryption implentation treats '$...' as (empty) variables.
decpwd="$(eval echo $(openssl passwd -1 -salt aV6dW8bD "your_device_sn"))"
4. Decrypt the configuration:
openssl aes-256-cbc -d -pbkdf2 -k "$decpwd" -in cfg_export_config_file.conf -out cfg_export_config_file.conf.dec
5. Enter fakeroot, decompress the configuration:
tar -zxf cfg_export_config_file.conf.dec
6. Edit 'etc/shadow', update (remove) root password: 'root::19179:0:99999:7:::'
7. Edit 'etc/rc.local', insert telnetd command before 'exit 0':
( sleep 3s; telnetd; ) &
8. Repack the configuration:
tar -zc etc/ | openssl aes-256-cbc -pbkdf2 -k "$decpwd" -out cfg_export_config_file.conf
* If you find an error about 'etc/wireless/mediatek/DBDC_card0.dat',
just ignore it.
9. Upload new configuration via web interface, now you can connect to
CMCC RAX3000Me via telnet.
(Big thanks to https://github.com/lyq1996 who reverse engineered the encryption method)
Check flash type:
If '/dev/mmcblk0' exists on the device, it's eMMC version.
If '/dev/mtd0' exists on the device, it's NAND version.
eMMC Flash instructions:
1. Connect to RAX3000Me, and backup everything, especially 'factory' part.
('data' partition can be ignored, it's useless.)
2. Write new GPT table:
dd if=immortalwrt-mediatek-filogic-cmcc_rax3000me-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
3. Write new BL2:
echo 0 > /sys/block/mmcblk0boot0/force_ro
dd if=immortalwrt-mediatek-filogic-cmcc_rax3000me-emmc-preloader.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
4. Write new FIP:
dd if=immortalwrt-mediatek-filogic-cmcc_rax3000me-emmc-bl31-uboot.fip of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
5. Set static IP on your PC:
IP 192.168.1.254/24, GW 192.168.1.1
6. Serve ImmortalWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After ImmortalWrt has booted, perform sysupgrade.
NAND Flash instructions:
1. Connect to RAX3000Me, and backup everything, especially 'Factory' part.
2. Write new BL2 and FIP:
If your device HAS USB port, run:
mtd write immortalwrt-mediatek-filogic-cmcc_rax3000me-nand-ddr3-preloader.bin BL2
mtd write immortalwrt-mediatek-filogic-cmcc_rax3000me-nand-ddr3-bl31-uboot.fip FIP
If your device DOES NOT have USB port, run:
mtd write immortalwrt-mediatek-filogic-cmcc_rax3000me-nand-ddr4-preloader.bin BL2
mtd write immortalwrt-mediatek-filogic-cmcc_rax3000me-nand-ddr4-bl31-uboot.fip FIP
4. Set static IP on your PC:
IP 192.168.1.254/24, GW 192.168.1.1
5. Serve ImmortalWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After ImmortalWrt has booted, perform sysupgrade.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 57f31cd5b1)
This board is also as known as SuperElectron ZN-M5 and ZN-M8. However,
for ZN-M5 and ZN-M8, there's another version uses ZX279128 as CPU
chip, which is unsupported.
You can check it in "高级设置" > "系统日志" > "内核日志" page from webUI.
Stock layout flash instructions:
Login into webUI and upload sysupgrade firmware in "系统管理" > "升级固件" page.
Remember to unselect "保留配置" ("Keep configurations") first before doing that.
OpenWrt U-Boot layout flash instructions:
1. Flash stock layout firmware first.
2. Connect to the device via SSH, and backup everything,
especially 'Factory' partition.
3. Unlock MTD partitions:
opkg update && opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
4. Write new BL2 and FIP:
mtd write immortalwrt-mediatek-filogic-cmcc_a10-preloader.bin bl2
mtd write immortalwrt-mediatek-filogic-cmcc_a10-bl31-uboot.fip fip
5. Set static IP on your PC:
IP 192.168.1.254/24, GW 192.168.1.1
6. Serve ImmortalWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After ImmortalWrt has booted, perform sysupgrade.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 4e9240e733)