RTL8188CTV가 작동하지 않음, 펌웨어 문제 및 일관성 없는 증상

RTL8188CTV가 작동하지 않음, 펌웨어 문제 및 일관성 없는 증상

저는 공장에서 Android 2.2가 사전 설치된 WonderMedia 8650 CPU가 탑재된 노트북을 사용하고 있습니다. 덕분에메일링 리스트, 이것github 저장소그리고 이 관습은데비안 11설정 후 커널 5.15를 실행하는 debian 11을 부팅할 수 있었습니다. 대부분의 문제(이더넷, 키보드, 마우스패드, gpio, 화면, 직렬 콘솔)가 해결되었지만 내부 USB WiFi 어댑터와 관련된 문제를 해결할 수 있는 항목을 찾을 수 없는 것 같습니다.

내부적으로 노트북에는 USB Realtek RTL8188CTV WiFi 어댑터가 납땜되어 있으며 내부 GPIO 핀을 사용하여 켜거나 끌 수 있습니다. 해당 GPIO 핀을 성공적으로 전환할 수 있고 커널이 성공적으로 장치를 감지할 수 있지만(lsusb Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter:) "모르겠어요"(?) 때문에 장치를 사용할 수 없습니다. 다음 명령을 사용하여 데비안 설치 설정다중 벨트을 선택한 다음 firmware-realtek어댑터가 작동하는 데 필요한 를 설치합니다. 이제 문제가 발생합니다.

첫 번째 부팅 후 dmesg에서 장치가 제대로 작동하고 있다는 메시지를 받았지만 잠시 동안 네트워크에 연결을 시도한 후 실패하고 오류가 발생하기 시작하여 시스템이 불안정하고 응답하지 않게 됩니다. 이 상황을 복구하는 유일한 방법은 어댑터를 "분리"(GPIO 끄기)하는 것입니다. 이 상황에 대한 dmesg는 다음과 같습니다.

[ 1116.320000] usb 1-4: new high-speed USB device number 4 using ehci-platform
[ 1116.550000] rtl8192cu: Chip version 0x10
[ 1116.660000] rtl8192cu: Board Type 0
[ 1116.660000] rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 1
[ 1116.670000] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
[ 1116.670000] ieee80211 phy0: Selected rate control algorithm 'rtl_rc'
[ 1116.930000] rtl8192cu 1-4:1.0 wlxc4604401a0a3: renamed from wlan0
[ 1117.260000] rtl8192cu: MAC auto ON okay!
[ 1117.400000] rtl8192cu: Tx queue select: 0x05
[ 1118.590000] rtl8192cu: MAC auto ON okay!
[ 1118.630000] rtl8192cu: Tx queue select: 0x05
[ 1188.850000] rtl8192cu: MAC auto ON okay!
[ 1188.900000] rtl8192cu: Tx queue select: 0x05
[ 1196.630000] wlxc4604401a0a3: authenticate with e4:c3:2a:d9:87:7f
[ 1196.700000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 1/3)
[ 1196.700000] wlxc4604401a0a3: authenticated
[ 1196.750000] wlxc4604401a0a3: associate with e4:c3:2a:d9:87:7f (try 1/3)
[ 1196.770000] wlxc4604401a0a3: RX AssocResp from e4:c3:2a:d9:87:7f (capab=0x411 status=0 aid=2)
[ 1196.880000] wlxc4604401a0a3: associated
[ 1202.870000] wlxc4604401a0a3: deauthenticated from e4:c3:2a:d9:87:7f (Reason: 15=4WAY_HANDSHAKE_TIMEOUT)
[ 1208.290000] wlxc4604401a0a3: authenticate with e4:c3:2a:d9:87:7f
[ 1208.360000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 1/3)
[ 1209.040000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 2/3)
[ 1210.060000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 3/3)
[ 1211.040000] wlxc4604401a0a3: authentication with e4:c3:2a:d9:87:7f timed out
[ 1212.770000] wlxc4604401a0a3: authenticate with e4:c3:2a:d9:87:7f
[ 1212.830000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 1/3)
[ 1214.060000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 2/3)
[ 1215.040000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 3/3)
[ 1216.080000] wlxc4604401a0a3: authentication with e4:c3:2a:d9:87:7f timed out
[ 1218.290000] wlxc4604401a0a3: authenticate with e4:c3:2a:d9:87:7f
[ 1218.350000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 1/3)
[ 1219.040000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 2/3)
[ 1220.080000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 3/3)
[ 1221.020000] wlxc4604401a0a3: authentication with e4:c3:2a:d9:87:7f timed out
[ 1232.500000] wlxc4604401a0a3: authenticate with e4:c3:2a:d9:87:7f
[ 1232.580000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 1/3)
[ 1233.030000] wlxc4604401a0a3: aborting authentication with e4:c3:2a:d9:87:7f by local choice (Reason: 3=DEAUTH_LEAVING)
[ 1233.500000] rtl8192cu: MAC auto ON okay!
[ 1233.540000] rtl8192cu: Tx queue select: 0x05
[ 1236.320000] rtl_usb: reg 0x4, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x2d2d2d00
[ 1236.390000] rtl_usb: reg 0x4, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x2d2d2d00
[ 1236.450000] rtl_usb: reg 0x4, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x0
[ 1236.710000] rtl_usb: reg 0x4, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x40000104
[ 1240.820000] rtl8192cu: MAC auto ON okay!
[ 1375.350000] rtl8192cu: Tx queue select: 0x05
[ 1518.700000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1519.590000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1520.200000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1521.130000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1522.160000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1523.280000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1524.280000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1525.350000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1526.550000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1527.810000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1528.920000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1529.690000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1530.320000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1532.000000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1532.020000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1532.630000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1532.650000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1533.300000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1533.320000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1533.930000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1533.950000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1534.560000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1534.580000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1535.400000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1535.410000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1536.280000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1536.300000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1536.910000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1536.930000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1537.580000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1537.600000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1538.210000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1538.230000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1538.840000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1538.860000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1539.510000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1539.520000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1540.140000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1540.160000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1550.510000] rtl8192cu: MAC auto ON okay!
[ 1685.170000] rtl8192cu: Tx queue select: 0x05
[ 1837.690000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1838.330000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1838.940000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1839.570000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1840.230000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1840.840000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1841.460000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1842.260000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1843.290000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1843.900000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1844.900000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1845.590000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1846.360000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 1855.510000] rtl8192cu: MAC auto ON okay!
[ 1984.330000] rtl8192cu: Tx queue select: 0x05
[ 2128.050000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2128.660000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2129.290000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2129.900000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2130.900000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2131.590000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2132.360000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2133.390000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2134.020000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2135.000000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2135.720000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2136.490000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2137.520000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2139.190000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2139.820000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2140.540000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2141.540000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2142.180000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2143.040000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2144.060000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2145.170000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2146.170000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2147.240000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2148.340000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2149.510000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2150.780000] rtl_usb: Urb has error status 0xFFFFFFB9
[ 2160.860000] rtl8192cu: MAC auto ON okay!
[ 2291.410000] rtl8192cu: Tx queue select: 0x05
[ 2310.220000] usb 1-4: USB disconnect, device number 4
[ 2349.170000] usb 1-4: new high-speed USB device number 7 using ehci-platform
[ 2349.400000] rtl8192cu: Chip version 0x10
[ 2349.510000] rtl8192cu: Board Type 0
[ 2349.520000] rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 1
[ 2349.530000] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
[ 2349.540000] ieee80211 phy1: Selected rate control algorithm 'rtl_rc'
[ 2349.750000] rtl8192cu 1-4:1.0 wlxc4604401a0a3: renamed from wlan0
[ 2350.070000] rtl8192cu: MAC auto ON okay!
[ 2350.200000] rtl8192cu: Tx queue select: 0x05
[ 2351.340000] rtl8192cu: MAC auto ON okay!
[ 2351.380000] rtl8192cu: Tx queue select: 0x05
[ 2354.350000] rtl8192cu: MAC auto ON okay!
[ 2354.400000] rtl8192cu: Tx queue select: 0x05
[ 2356.670000] wlxc4604401a0a3: authenticate with e4:c3:2a:d9:87:7f
[ 2356.730000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 1/3)
[ 2356.770000] wlxc4604401a0a3: authenticated
[ 2356.780000] wlxc4604401a0a3: associate with e4:c3:2a:d9:87:7f (try 1/3)
[ 2356.810000] wlxc4604401a0a3: RX AssocResp from e4:c3:2a:d9:87:7f (capab=0x411 status=0 aid=2)
[ 2356.960000] wlxc4604401a0a3: associated
[ 2357.950000] IPv6: ADDRCONF(NETDEV_CHANGE): wlxc4604401a0a3: link becomes ready
[ 2403.100000] wlxc4604401a0a3: deauthenticating from e4:c3:2a:d9:87:7f by local choice (Reason: 3=DEAUTH_LEAVING)
[ 2403.420000] rtl8192cu: MAC auto ON okay!
[ 2403.460000] rtl8192cu: Tx queue select: 0x05
[ 2428.870000] rtl8192cu: MAC auto ON okay!
[ 2428.920000] rtl8192cu: Tx queue select: 0x05
[ 2458.910000] wlxc4604401a0a3: authenticate with ae:8e:29:4b:c5:c7
[ 2458.980000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 1/3)
[ 2460.070000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 2/3)
[ 2461.040000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 3/3)
[ 2462.020000] wlxc4604401a0a3: authentication with ae:8e:29:4b:c5:c7 timed out
[ 2463.400000] wlxc4604401a0a3: authenticate with ae:8e:29:4b:c5:c7
[ 2463.480000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 1/3)
[ 2464.010000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 2/3)
[ 2465.040000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 3/3)
[ 2466.010000] wlxc4604401a0a3: authentication with ae:8e:29:4b:c5:c7 timed out
[ 2467.720000] wlxc4604401a0a3: authenticate with ae:8e:29:4b:c5:c7
[ 2467.800000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 1/3)
[ 2469.040000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 2/3)
[ 2470.010000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 3/3)
[ 2471.030000] wlxc4604401a0a3: authentication with ae:8e:29:4b:c5:c7 timed out
[ 2473.270000] wlxc4604401a0a3: authenticate with ae:8e:29:4b:c5:c7
[ 2473.330000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 1/3)
[ 2474.080000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 2/3)
[ 2475.020000] wlxc4604401a0a3: send auth to ae:8e:29:4b:c5:c7 (try 3/3)
[ 2476.050000] wlxc4604401a0a3: authentication with ae:8e:29:4b:c5:c7 timed out
[ 2483.490000] usb 1-4: USB disconnect, device number 7
[ 2483.510000] rtl8192cu: MAC auto ON okay!
[ 2483.510000] rtl8192cu: Tx queue select: 0x05

이 경우에는 다른 네트워크에 연결하려고 여러 번 시도했지만 실패했습니다.

이제 좀 이상해졌습니다. 마지막 시도 후 두세 번 재부팅했는데 dmesg로부터 다른 메시지를 받았습니다.

[   73.020000] usb 1-4: new high-speed USB device number 4 using ehci-platform
[   73.250000] rtl8192cu: Chip version 0x10
[   73.370000] rtl8192cu: Board Type 0
[   73.370000] rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 1
[   73.370000] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
[   73.370000] ieee80211 phy0: Selected rate control algorithm 'rtl_rc'
[   73.740000] rtl8192cu 1-4:1.0 wlxc4604401a0a3: renamed from wlan0
[   74.070000] IPv6: ADDRCONF(NETDEV_UP): wlxc4604401a0a3: link is not ready
[   74.070000] rtl8192cu: MAC auto ON okay!
[   74.180000] rtl8192cu: Tx queue select: 0x05
[   74.600000] rtl8192c_common: chksum report fail! REG_MCUFWDL:0x00030000 .
[   74.600000] rtl8192c_common: Firmware is not ready to run!
[   74.970000] IPv6: ADDRCONF(NETDEV_UP): wlxc4604401a0a3: link is not ready
[   75.360000] rtl8192cu: MAC auto ON okay!
[   75.390000] rtl8192cu: Tx queue select: 0x05
[   75.770000] rtl8192c_common: chksum report fail! REG_MCUFWDL:0x00030000 .
[   75.770000] rtl8192c_common: Firmware is not ready to run!
[   76.130000] IPv6: ADDRCONF(NETDEV_UP): wlxc4604401a0a3: link is not ready
[   76.970000] IPv6: ADDRCONF(NETDEV_UP): wlxc4604401a0a3: link is not ready
[   78.900000] rtl8192cu: MAC auto ON okay!
[   78.930000] rtl8192cu: Tx queue select: 0x05
[   79.260000] rtl8192c_common: chksum report fail! REG_MCUFWDL:0x00030000 .
[   79.260000] rtl8192c_common: Firmware is not ready to run!
[   79.630000] IPv6: ADDRCONF(NETDEV_UP): wlxc4604401a0a3: link is not ready
[   81.190000] wlxc4604401a0a3: authenticate with e4:c3:2a:d9:87:7f
[   81.250000] wlxc4604401a0a3: send auth to e4:c3:2a:d9:87:7f (try 1/3)
[   81.260000] wlxc4604401a0a3: authenticated
[   81.310000] wlxc4604401a0a3: associate with e4:c3:2a:d9:87:7f (try 1/3)
[   81.370000] wlxc4604401a0a3: RX AssocResp from e4:c3:2a:d9:87:7f (capab=0x411 status=0 aid=2)
[   81.480000] wlxc4604401a0a3: associated
[   81.580000] IPv6: ADDRCONF(NETDEV_CHANGE): wlxc4604401a0a3: link becomes ready
[  128.080000] wlxc4604401a0a3: deauthenticating from e4:c3:2a:d9:87:7f by local choice (Reason: 3=DEAUTH_LEAVING)
[  128.450000] rtl8192cu: MAC auto ON okay!
[  128.490000] rtl8192cu: Tx queue select: 0x05
[  128.850000] rtl8192c_common: chksum report fail! REG_MCUFWDL:0x00030000 .
[  128.850000] rtl8192c_common: Firmware is not ready to run!
[  129.220000] IPv6: ADDRCONF(NETDEV_UP): wlxc4604401a0a3: link is not ready
[  129.420000] IPv6: ADDRCONF(NETDEV_UP): wlxc4604401a0a3: link is not ready
[  131.430000] rtl_usb: reg 0x4, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x4d5
[  131.470000] rtl_usb: reg 0x4, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x3902d2a
[  131.520000] rtl_usb: reg 0x21, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x2d2d2d00
[  131.570000] rtl_usb: reg 0x0, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x2d2d2d00
[  132.170000] rtl8192cu: MAC auto ON okay!

그 시점부터 상황은 매우 모순되었습니다. 때로는 처음 시작했을 때와 동일한 작업을 수행하고, 때로는 avobe를 수행하고, 때로는 시스템을 응답하지 않게 만들고 연결을 시도하지도 않습니다.

이것이 뭔가 빠진 커널을 구축하는 것과 관련이 있는지, 아니면 Linux의 Realtek인지는 모르겠습니다. 나는 정말로 무엇을 해야할지 모르겠습니다. 어쨌든, 여기 내 커널이 있습니다.config

관련 정보