root@OpenWrt:~# iw phy0 info
Wiphy phy0
wiphy index: 0
max # scan SSIDs: 16
max scan IEs length: 408 bytes
max # sched scan SSIDs: 0
max # match sets: 0
Retry short limit: 7
Retry long limit: 4
Coverage class: 0 (up to 0m)
Device supports AP-side u-APSD.
Available Antennas: TX 0x3 RX 0x3
Configured Antennas: TX 0x3 RX 0x3
Supported interface modes:
* managed
* AP
* mesh point
Band 1:
Capabilities: 0x11ef
RX LDPC
HT20/HT40
SM Power Save disabled
RX HT20 SGI
RX HT40 SGI
TX STBC
RX STBC 1-stream
Max AMSDU length: 3839 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: No restriction (0x00)
HT TX/RX MCS rate indexes supported: 0-15
HE Iftypes: managed
HE MAC Capabilities (0x000b9a080040):
+HTC HE Supported
TWT Requester
Dynamic BA Fragementation Level: 1
BSR
OM Control
Maximum A-MPDU Length Exponent: 3
RX Control Frame to MultiBSS
A-MSDU in A-MPDU
HE PHY Capabilities: (0x02600c891dc1838c110c00):
HE40/2.4GHz
LDPC Coding in Payload
HE SU PPDU with 1x HE-LTF and 0.8us GI
STBC Tx <= 80MHz
STBC Rx <= 80MHz
DCM Max Constellation: 1
DCM Max Constellation Rx: 1
SU Beamformer
SU Beamformee
Beamformee STS <= 80MHz: 7
Sounding Dimensions <= 80MHz: 1
Ng = 16 SU Feedback
Ng = 16 MU Feedback
Codebook Size SU Feedback
Codebook Size MU Feedback
PPE Threshold Present
HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
Max NC: 1
STBC Rx > 80MHz
HE ER SU PPDU 4x HE-LTF 0.8us GI
HE ER SU PPDU 1x HE-LTF 0.8us GI
TX 1024-QAM
RX 1024-QAM
HE RX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
PPE Threshold 0x19 0x1c 0xc7 0x71
HE Iftypes: AP
HE MAC Capabilities (0x000d9a080040):
+HTC HE Supported
TWT Responder
Dynamic BA Fragementation Level: 1
BSR
OM Control
Maximum A-MPDU Length Exponent: 3
RX Control Frame to MultiBSS
A-MSDU in A-MPDU
HE PHY Capabilities: (0x02600c881dc1838c110c00):
HE40/2.4GHz
LDPC Coding in Payload
HE SU PPDU with 1x HE-LTF and 0.8us GI
STBC Tx <= 80MHz
STBC Rx <= 80MHz
DCM Max Constellation Rx: 1
SU Beamformer
SU Beamformee
Beamformee STS <= 80MHz: 7
Sounding Dimensions <= 80MHz: 1
Ng = 16 SU Feedback
Ng = 16 MU Feedback
Codebook Size SU Feedback
Codebook Size MU Feedback
PPE Threshold Present
HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
Max NC: 1
STBC Rx > 80MHz
HE ER SU PPDU 4x HE-LTF 0.8us GI
HE ER SU PPDU 1x HE-LTF 0.8us GI
TX 1024-QAM
RX 1024-QAM
HE RX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
PPE Threshold 0x19 0x1c 0xc7 0x71
HE Iftypes: mesh point
HE MAC Capabilities (0x00098a080040):
+HTC HE Supported
Dynamic BA Fragementation Level: 1
BSR
OM Control
Maximum A-MPDU Length Exponent: 1
RX Control Frame to MultiBSS
A-MSDU in A-MPDU
HE PHY Capabilities: (0x02600c801d41810c100000):
HE40/2.4GHz
LDPC Coding in Payload
HE SU PPDU with 1x HE-LTF and 0.8us GI
STBC Tx <= 80MHz
STBC Rx <= 80MHz
SU Beamformer
SU Beamformee
Beamformee STS <= 80MHz: 7
Sounding Dimensions <= 80MHz: 1
Ng = 16 SU Feedback
Codebook Size SU Feedback
PPE Threshold Present
HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
Max NC: 1
HE ER SU PPDU 1x HE-LTF 0.8us GI
HE RX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
PPE Threshold 0x19 0x1c 0xc7 0x71
Frequencies:
* 2412.0 MHz [1] (30.0 dBm)
* 2417.0 MHz [2] (30.0 dBm)
* 2422.0 MHz [3] (30.0 dBm)
* 2427.0 MHz [4] (30.0 dBm)
* 2432.0 MHz [5] (30.0 dBm)
* 2437.0 MHz [6] (30.0 dBm)
* 2442.0 MHz [7] (30.0 dBm)
* 2447.0 MHz [8] (30.0 dBm)
* 2452.0 MHz [9] (30.0 dBm)
* 2457.0 MHz [10] (30.0 dBm)
* 2462.0 MHz [11] (30.0 dBm)
* 2467.0 MHz [12] (disabled)
* 2472.0 MHz [13] (disabled)
* 2484.0 MHz [14] (disabled)
valid interface combinations:
* #{ managed } <= 1, #{ AP, mesh point } <= 16,
total <= 16, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 80+80 MHz, 160 MHz }
HT Capability overrides:
* MCS: ff ff ff ff ff ff ff ff ff ff
* maximum A-MSDU length
* supported channel width
* short GI for 40 MHz
* max A-MPDU length exponent
* min MPDU start spacing
max # scan plans: 1
max scan plan interval: -1
max scan plan iterations: 0
Maximum associated stations in AP mode: 128
Supported extended features:
* [ RRM ]: RRM
* [ SET_SCAN_DWELL ]: scan dwell setting
* [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
* [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
* [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
* [ ACK_SIGNAL_SUPPORT ]: ack signal level support
* [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
* [ ENABLE_FTM_RESPONDER ]: enable FTM (Fine Time Measurement) responder
* [ STA_TX_PWR ]: TX power control per station
* [ CONTROL_PORT_NO_PREAUTH ]: disable pre-auth over nl80211 control port support
* [ SCAN_FREQ_KHZ ]: scan on kHz frequency support
* [ CONTROL_PORT_OVER_NL80211_TX_STATUS ]: tx status for nl80211 control port support
* [ BSS_COLOR ]: BSS coloring support
* [ POWERED_ADDR_CHANGE ]: can change MAC address while up
root@OpenWrt:~# iw phy1 info
Wiphy phy1
wiphy index: 1
max # scan SSIDs: 16
max scan IEs length: 398 bytes
max # sched scan SSIDs: 0
max # match sets: 0
Retry short limit: 7
Retry long limit: 4
Coverage class: 0 (up to 0m)
Device supports AP-side u-APSD.
Available Antennas: TX 0x3 RX 0x3
Configured Antennas: TX 0x3 RX 0x3
Supported interface modes:
* managed
* AP
* monitor
* mesh point
Band 2:
Capabilities: 0x19ef
RX LDPC
HT20/HT40
SM Power Save disabled
RX HT20 SGI
RX HT40 SGI
TX STBC
RX STBC 1-stream
Max AMSDU length: 7935 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: No restriction (0x00)
HT TX/RX MCS rate indexes supported: 0-15
VHT Capabilities (0x3381f9fa):
Max MPDU length: 11454
Supported Channel Width: 160 MHz, 80+80 MHz
RX LDPC
short GI (80 MHz)
short GI (160/80+80 MHz)
TX STBC
SU Beamformer
SU Beamformee
RX antenna pattern consistency
TX antenna pattern consistency
VHT RX MCS set:
1 streams: MCS 0-9
2 streams: MCS 0-9
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
VHT RX highest supported: 0 Mbps
VHT TX MCS set:
1 streams: MCS 0-9
2 streams: MCS 0-9
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
VHT TX highest supported: 0 Mbps
VHT extended NSS: supported
HE Iftypes: managed
HE MAC Capabilities (0x000b9a081040):
+HTC HE Supported
TWT Requester
Dynamic BA Fragementation Level: 1
BSR
OM Control
Maximum A-MPDU Length Exponent: 3
RX Control Frame to MultiBSS
A-MSDU in A-MPDU
OM Control UL MU Data Disable RX
HE PHY Capabilities: (0x1c604c89fdc9838c110c00):
HE40/HE80/5GHz
HE160/5GHz
HE160/HE80+80/5GHz
LDPC Coding in Payload
HE SU PPDU with 1x HE-LTF and 0.8us GI
STBC Tx <= 80MHz
STBC Rx <= 80MHz
Full Bandwidth UL MU-MIMO
DCM Max Constellation: 1
DCM Max Constellation Rx: 1
SU Beamformer
SU Beamformee
Beamformee STS <= 80MHz: 7
Beamformee STS > 80MHz: 7
Sounding Dimensions <= 80MHz: 1
Sounding Dimensions > 80MHz: 1
Ng = 16 SU Feedback
Ng = 16 MU Feedback
Codebook Size SU Feedback
Codebook Size MU Feedback
PPE Threshold Present
HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
Max NC: 1
STBC Rx > 80MHz
HE ER SU PPDU 4x HE-LTF 0.8us GI
HE ER SU PPDU 1x HE-LTF 0.8us GI
TX 1024-QAM
RX 1024-QAM
HE RX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE RX MCS and NSS set 160 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set 160 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE RX MCS and NSS set 80+80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set 80+80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
PPE Threshold 0x79 0x1c 0xc7 0x71 0x1c 0xc7 0x71
HE Iftypes: AP
HE MAC Capabilities (0x000d9a081040):
+HTC HE Supported
TWT Responder
Dynamic BA Fragementation Level: 1
BSR
OM Control
Maximum A-MPDU Length Exponent: 3
RX Control Frame to MultiBSS
A-MSDU in A-MPDU
OM Control UL MU Data Disable RX
HE PHY Capabilities: (0x1c604c88fdc9838c110c00):
HE40/HE80/5GHz
HE160/5GHz
HE160/HE80+80/5GHz
LDPC Coding in Payload
HE SU PPDU with 1x HE-LTF and 0.8us GI
STBC Tx <= 80MHz
STBC Rx <= 80MHz
Full Bandwidth UL MU-MIMO
DCM Max Constellation Rx: 1
SU Beamformer
SU Beamformee
Beamformee STS <= 80MHz: 7
Beamformee STS > 80MHz: 7
Sounding Dimensions <= 80MHz: 1
Sounding Dimensions > 80MHz: 1
Ng = 16 SU Feedback
Ng = 16 MU Feedback
Codebook Size SU Feedback
Codebook Size MU Feedback
PPE Threshold Present
HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
Max NC: 1
STBC Rx > 80MHz
HE ER SU PPDU 4x HE-LTF 0.8us GI
HE ER SU PPDU 1x HE-LTF 0.8us GI
TX 1024-QAM
RX 1024-QAM
HE RX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE RX MCS and NSS set 160 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set 160 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE RX MCS and NSS set 80+80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set 80+80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
PPE Threshold 0x79 0x1c 0xc7 0x71 0x1c 0xc7 0x71
HE Iftypes: mesh point
HE MAC Capabilities (0x00098a081040):
+HTC HE Supported
Dynamic BA Fragementation Level: 1
BSR
OM Control
Maximum A-MPDU Length Exponent: 1
RX Control Frame to MultiBSS
A-MSDU in A-MPDU
OM Control UL MU Data Disable RX
HE PHY Capabilities: (0x1c600c80fd49810c100000):
HE40/HE80/5GHz
HE160/5GHz
HE160/HE80+80/5GHz
LDPC Coding in Payload
HE SU PPDU with 1x HE-LTF and 0.8us GI
STBC Tx <= 80MHz
STBC Rx <= 80MHz
SU Beamformer
SU Beamformee
Beamformee STS <= 80MHz: 7
Beamformee STS > 80MHz: 7
Sounding Dimensions <= 80MHz: 1
Sounding Dimensions > 80MHz: 1
Ng = 16 SU Feedback
Codebook Size SU Feedback
PPE Threshold Present
HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
Max NC: 1
HE ER SU PPDU 1x HE-LTF 0.8us GI
HE RX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set <= 80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE RX MCS and NSS set 160 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set 160 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE RX MCS and NSS set 80+80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
HE TX MCS and NSS set 80+80 MHz
1 streams: MCS 0-11
2 streams: MCS 0-11
3 streams: not supported
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
PPE Threshold 0x79 0x1c 0xc7 0x71 0x1c 0xc7 0x71
Frequencies:
* 5180.0 MHz [36] (30.0 dBm)
* 5200.0 MHz [40] (30.0 dBm)
* 5220.0 MHz [44] (30.0 dBm)
* 5240.0 MHz [48] (30.0 dBm)
* 5260.0 MHz [52] (24.0 dBm) (radar detection)
* 5280.0 MHz [56] (24.0 dBm) (radar detection)
* 5300.0 MHz [60] (24.0 dBm) (radar detection)
* 5320.0 MHz [64] (24.0 dBm) (radar detection)
* 5500.0 MHz [100] (24.0 dBm) (radar detection)
* 5520.0 MHz [104] (24.0 dBm) (radar detection)
* 5540.0 MHz [108] (24.0 dBm) (radar detection)
* 5560.0 MHz [112] (24.0 dBm) (radar detection)
* 5580.0 MHz [116] (24.0 dBm) (radar detection)
* 5600.0 MHz [120] (24.0 dBm) (radar detection)
* 5620.0 MHz [124] (24.0 dBm) (radar detection)
* 5640.0 MHz [128] (24.0 dBm) (radar detection)
* 5660.0 MHz [132] (24.0 dBm) (radar detection)
* 5680.0 MHz [136] (24.0 dBm) (radar detection)
* 5700.0 MHz [140] (24.0 dBm) (radar detection)
* 5720.0 MHz [144] (24.0 dBm) (radar detection)
* 5745.0 MHz [149] (30.0 dBm)
* 5765.0 MHz [153] (30.0 dBm)
* 5785.0 MHz [157] (30.0 dBm)
* 5805.0 MHz [161] (30.0 dBm)
* 5825.0 MHz [165] (30.0 dBm)
* 5845.0 MHz [169] (30.0 dBm)
* 5865.0 MHz [173] (30.0 dBm)
* 5885.0 MHz [177] (30.0 dBm)
valid interface combinations:
* #{ managed } <= 1, #{ AP, mesh point } <= 16,
total <= 16, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 80+80 MHz, 160 MHz }
HT Capability overrides:
* MCS: ff ff ff ff ff ff ff ff ff ff
* maximum A-MSDU length
* supported channel width
* short GI for 40 MHz
* max A-MPDU length exponent
* min MPDU start spacing
max # scan plans: 1
max scan plan interval: -1
max scan plan iterations: 0
Maximum associated stations in AP mode: 128
Supported extended features:
* [ RRM ]: RRM
* [ SET_SCAN_DWELL ]: scan dwell setting
* [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
* [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
* [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
* [ ACK_SIGNAL_SUPPORT ]: ack signal level support
* [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
* [ ENABLE_FTM_RESPONDER ]: enable FTM (Fine Time Measurement) responder
* [ STA_TX_PWR ]: TX power control per station
* [ CONTROL_PORT_NO_PREAUTH ]: disable pre-auth over nl80211 control port support
* [ SCAN_FREQ_KHZ ]: scan on kHz frequency support
* [ CONTROL_PORT_OVER_NL80211_TX_STATUS ]: tx status for nl80211 control port support
* [ BSS_COLOR ]: BSS coloring support
* [ POWERED_ADDR_CHANGE ]: can change MAC address while up
can you look at the dts ... i remember you mentioning the dac entry .. turned out it was not present in the b3000, but is in the x20000
I recall you mentioning that there is something unique about it, but can't recall what exactly. You also said you'd help me configure it once the pr for the b3000 was merged
yes gl uses this method for the macs. Then then create the cfg partition and copy the mac and the other values used in the gl-hw node of the oem dts, to this partition. Then a handful of scripts parse the info needed from cfg partition... We simply just set it in dts and use mac increment in 11-ath11k-caldata for wifi
forgot to ask, do both ports (wan/lan) detect cable connect/reconnects ?
[ 112.954034] nss-dp 39c00000.dp1 eth0: PHY Link is down
[ 115.833924] nss-dp 39d00000.dp2 eth1: PHY Link up speed: 1000
[ 119.993751] nss-dp 39d00000.dp2 eth1: PHY Link is down
[ 122.553908] nss-dp 39c00000.dp1 eth0: PHY Link up speed: 1000
Edit: here from openwrt-snapshot
[ 72.725297] nss-dp 39d00000.dp2 eth1: PHY Link up speed: 1000
[ 80.154047] nss-dp 39c00000.dp1 eth0: PHY Link up speed: 1000
[ 88.473778] nss-dp 39c00000.dp1 eth0: PHY Link is down
[ 187.274156] nss-dp 39c00000.dp1 eth0: PHY Link up speed: 1000
you could have a look at the gl-fan driver and see if you spot anything important we may need to get the fan working properly.
start by checking in ow from cl if the paths exists, i haven't looked at the pwmfan driver yet and i don't have a physical unit so i have no comparison
EDIT really only this one, the rest are just default paths. It may be named slightly different
FAN_SPEED_FILE "/sys/class/fan/fan_speed"
then add a case for the device to the 03_set_oem_name script,
#!/bin/sh
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh
ipq50xx_set_oem_name()
{
local board="$1"
case $board in
glinet,gl-b3000|\
glinet,gl-x2000)
oem_name=${board#*-}
echo "$oem_name" > "$oem_file"
;;
esac
}
oem_file=/tmp/sysinfo/oem_name
board=$(board_name)
ipq50xx_set_oem_name $board
exit 0
this recipe will produce the .img file and the sysupgrade.bin. and after you add the device to set oem name you should be able to flash oem images straight from luci and openwrt images from the oem webui. This makes it nice for flipping back and forth. This recipe also enables uboot recovery using the openwrt image, so you can recover via uboot web recovery, straight to openwrt, without having to revert to oem first, and then upgrade back to openwrt.
You'll need to build the .img and test this functionality. If it checks out then, its just the fan and what ever you decide for the usb to finish before you start a openwrt pr and get the device added. I will help you through it when its time.