데비안 버스터를 실행하는 DE10 나노 보드에서 WIFI 액세스를 얻으려고 합니다. 커널 버전은 5.10.50-lts입니다. 제가 사용하고 있는 Wi-Fi 장치는 RT5370 칩셋입니다. 문제는 wlan0 장치가 에 있다는 것입니다 ifconfig -a
. 출력은 다음과 같습니다.
ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::4043:34ff:fe2e:f5bb prefixlen 64 scopeid 0x20<link>
ether 42:43:34:2e:f5:bb txqueuelen 1000 (Ethernet)
RX packets 168 bytes 22755 (22.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 247 bytes 64167 (62.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 39 base 0xa000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
sit0: flags=128<NOARP> mtu 1480
sit txqueuelen 1000 (IPv6-in-IPv4)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
관심 있는 커널 모듈은 rt2800usb이며 로드됩니다. 명령은 lsmod
다음과 같습니다.
Module Size Used by
rt2800usb 28672 0
rt2800lib 110592 1 rt2800usb
crc_ccitt 16384 1 rt2800lib
rt2x00usb 20480 1 rt2800usb
rt2x00lib 49152 3 rt2800lib,rt2800usb,rt2x00usb
rtl8188ee 106496 0
rtl_pci 32768 1 rtl8188ee
rtlwifi 94208 2 rtl_pci,rtl8188ee
mac80211 626688 6 rt2800lib,rtl_pci,rt2x00lib,rt2x00usb,rtl8188ee,rtlwifi
libarc4 16384 1 mac80211
cfg80211 602112 3 rt2x00lib,mac80211,rtlwifi
내 USB Wi-Fi 장치가 실제로 명령을 사용하여 연결되어 있고 lsusb
출력이 다음과 같은 것을 볼 수 있습니다.
Bus 001 Device 002: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
/lib/firmware
내가 설치한 iwlwifi 펌웨어의 설치 디렉토리에 있습니다.
이 명령의 결과는 lshw -c network
다음과 같습니다.
*-network
description: Ethernet interface
physical id: 2
logical name: eth0
serial: 42:43:34:2e:f5:bb
size: 100Mbit/s
capacity: 1Gbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=st_gmac driverversion=Jan_2016 duplex=full link=yes multicast=yes port=twisted pair speed=100Mbit/s
이 명령은 lspci
결과를 반환하지 않습니다.
이 명령은 rfkill list
다음을 반환합니다.
rfkill: cannot open /dev/rfkill: No such file or directory
rfkill: cannot read /dev/rfkill: Bad file descriptor
이 명령은 iwconfig
다음을 반환합니다.
lo no wireless extensions.
eth0 no wireless extensions.
sit0 no wireless extensions.
이 명령은 ifconfig wlan0 up
다음을 반환합니다.
wlan0: ERROR while getting interface flags: No such device
dmesg
관심을 가질 만한 섹션을 찾았습니다 .
[ 262.173356] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 262.204790] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 262.330974] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[ 309.244598] usbcore: registered new interface driver rt2800usb
누구든지 이 문제를 해결하도록 도와줄 수 있나요? 추가 정보가 필요한 경우 알려주시기 바랍니다. 감사해요
답변1
라는 파일을 다운받았는데rtl8188eu
GitHub에서.
make all
호스트 컴퓨터의 지침에 따라 크로스 컴파일하고 결과 8188eu.ko
파일을 개발 컴퓨터로 가져와 설치했습니다.
install -p -m 644 8188eu.ko /lib/modules/5.10.50zImage/kernel/drivers/staging/r8188eu/
그런 다음 다음 명령을 실행합니다.
depmod -a 5.10.50zImage
modprobe 8188eu
그런 다음 기기를 ifconfig
반납하고 wlan0
google.com에 ping을 실행할 수 있으므로 이제 모든 것이 잘 작동합니다.
참고: 제가 한 것처럼 Makefile을 편집하고 커널 소스를 가리키는 크로스 컴파일러와 변수를 재구성해야 할 수도 있습니다.