저는 Linux를 처음 사용하는데 도움을 주셔서 감사합니다. 이 WiFi 어댑터는 BeagleBone/Raspberry Pi 세계에서는 일반적으로 사용되지 않지만 BeagleBone과의 장거리 통신을 위해 맞춤형 지향성 안테나를 부착할 수 있기 때문에 유용합니다.
시작한다:
USB 인터페이스와 SSH를 통해 비글본에 연결하면 루트로 쉽게 로그인할 수 있습니다. 입력하면 sudo cat /var/log/messages
아래 출력(일부)이 표시됩니다. 이는 usb1-1이 USB WiFi 어댑터에 연결되어 있음을 나타냅니다. 실제로 이 USB WiFi 장치에 사용되는 칩셋은 Realtek RTL8187입니다.
나는 Ubuntu가 이 Realtek 칩용 드라이버를 표준으로 제공한다는 것을 알았지만 Beaglebone은 다른 유형의 Linux를 사용한다는 것을 알고 있습니다.
시스템을 진단하고 Wi-Fi 네트워크에 연결하는 방법은 무엇이며, 연결할 수 없는 경우 어떻게 이 드라이버를 구하고 계속 진행할 수 있습니까? 드라이버는 Ubuntu에서 Realtek 8187 칩에 사용하는 것과 동일한 드라이버일 가능성이 높습니다.
또한 - '네트워크 관리자'라는 것을 들어봤습니다. 시작하려면 이것이 필요한가요? 그렇다면 이 임베디드 리눅스 시스템에서는 어떻게 터미널을 통해 다운로드하여 설치할 수 있을까요?
Apr 23 20:24:04 beaglebone systemd-logind[700]: Linked /tmp/.X11-unix/X0 to /run/user/debian/X11-display.
Apr 23 20:24:07 beaglebone systemd[1]: Startup finished in 2s 663ms 344us (kernel) + 14s 900ms 121us (userspace) = 17s 563ms 465us.
Apr 23 20:24:14 beaglebone kernel: [ 25.164174] net eth0: initializing cpsw version 1.12 (0)
Apr 23 20:24:14 beaglebone kernel: [ 25.168656] net eth0: phy found : id is : 0x7c0f1
Apr 23 20:24:14 beaglebone kernel: [ 25.190080] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 23 20:44:41 beaglebone kernel: [ 1251.610969] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
Apr 23 20:44:41 beaglebone kernel: [ 1251.611096] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Apr 23 20:44:55 beaglebone kernel: [ 1265.814467] net eth0: initializing cpsw version 1.12 (0)
Apr 23 20:44:55 beaglebone kernel: [ 1265.817260] net eth0: phy found : id is : 0x7c0f1
Apr 23 20:44:55 beaglebone kernel: [ 1265.833067] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 23 20:44:55 beaglebone kernel: [ 1266.187458] net eth0: initializing cpsw version 1.12 (0)
Apr 23 20:44:55 beaglebone kernel: [ 1266.190295] net eth0: phy found : id is : 0x7c0f1
Apr 23 20:44:55 beaglebone kernel: [ 1266.205991] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 23 20:44:57 beaglebone kernel: [ 1268.197080] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
Apr 23 20:44:57 beaglebone kernel: [ 1268.197237] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Oct 15 03:24:43 beaglebone kernel: [ 1528.071391] usb 1-1: new high-speed USB device number 2 using musb-hdrc
Oct 15 03:24:43 beaglebone kernel: [ 1528.197461] usb 1-1: New USB device found, idVendor=0bda, idProduct=8187
Oct 15 03:24:43 beaglebone kernel: [ 1528.197501] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Oct 15 03:24:43 beaglebone kernel: [ 1528.197536] usb 1-1: Product: RTL8187_Wireless
Oct 15 03:24:43 beaglebone kernel: [ 1528.197570] usb 1-1: Manufacturer: Manufacturer_Realtek_RTL8187_
Oct 15 03:24:43 beaglebone kernel: [ 1528.197603] usb 1-1: SerialNumber: 00C0CA6D703D
Oct 15 03:24:44 beaglebone kernel: [ 1528.378502] cfg80211: Calling CRDA to update world regulatory domain
Oct 15 03:24:44 beaglebone kernel: [ 1528.812425] ieee80211 phy0: hwaddr 00:c0:ca:6d:70:3d, RTL8187vB (default) V1 + rtl8225z2, rfkill mask 2
Oct 15 03:24:44 beaglebone kernel: [ 1528.829906] rtl8187: Customer ID is 0xFF
Oct 15 03:24:44 beaglebone kernel: [ 1528.852966] rtl8187: wireless switch is on
Oct 15 03:24:44 beaglebone kernel: [ 1528.853874] usbcore: registered new interface driver rtl8187
ifup wlan0을 입력하면 다음과 같은 결과가 나타납니다.
root@beaglebone:/# ifup wlan0
Ignoring unknown interface wlan0=wlan0
iwconfig를 입력하면 다음과 같은 결과가 나타납니다.
root@beaglebone:/# iwconfig
wlan0 IEEE 802.11bg ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
lo no wireless extensions.
eth0 no wireless extensions.
usb0 no wireless extensions.
root@beaglebone:/#
도움을 주셔서 감사합니다. 나는 대답이 나와 BeagleBone을 통해 이런 종류의 USB WiFi를 사용하려는 다른 사람들 모두에게 도움이 될 것이라고 생각합니다.
업데이트: 나는에게서 조금 배웠습니다.여기를 통해 내 인터페이스 파일을 편집했습니다 sudo nano /etc/network/interfaces
. Wi-Fi 섹션의 주석 처리를 제거했습니다.. 네트워크 이름과 비밀번호를 추가했습니다. 그런 다음 아래를 참조하세요. 무슨 일이 일어나고 있는지 아이디어가 있습니까?
root@beaglebone:/# ifup wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/wlan0/00:c0:ca:6d:70:3d
Sending on LPF/wlan0/00:c0:ca:6d:70:3d
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
receive_packet failed on wlan0: Network is down
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 9
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.594437] Internal error: Oops: 817 [#1] SMP THUMB2
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.676479] Process wpa_supplicant (pid: 2276, stack limit = 0xd5988240)
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.683943] Stack: (0xd5989da8 to 0xd598a000)
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.688819] 9da0: d5a3f520 00000000 11111111 d5989da8 d5a3f50c d5924548
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.697880] 9dc0: d5a3f500 d5924000 00008914 d5ac680c d5ac6800 c045a3db d5a3e400 bf9dc255
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.706919] 9de0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.715986] 9e00: d5a3f50c 00000000 00000000 d5a3e400 d5924548 00000000 d5924000 00008914
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.725032] 9e20: d5ac680c d5ac6800 00000000 bf958b2b 0000000d 00000000 00000001 00000000
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.734092] 9e40: d5ac680c d5924000 bf981034 00000000 d592402c 00008914 d5ac680c d5ac6800
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.743128] 9e60: 00000000 bf9591ff d5924000 c03bfd63 c03bfd03 d5924000 00001003 00001002
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.752177] 9e80: 00000001 c03bfeed 00008914 d5924000 00001002 d5924000 bea2aa54 c03bffa9
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.761223] 9ea0: 00000000 00000001 d5924000 c03f87a1 00000000 01000000 6e616c77 00000030
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.770279] 9ec0: 00000000 00000000 00001003 00000000 00000000 00000000 00000000 00008914
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.779332] 9ee0: bea2aa54 c081c740 d5060e40 00000007 00000000 00000000 00000005 c03b1cfd
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.788405] 9f00: c03b1bb1 d5060e60 bea2aa54 d5957800 00000007 c00b36ab d5060220 c00b58bf
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.797422] 9f20: d5150f60 00000000 d5150f60 00000000 d5150fb4 c00b5d13 00002710 d5904b40
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.806479] 9f40: 00000000 d5060c80 00000000 bea2a914 00000129 c000c1c4 d5988000 d5957800
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.815514] 9f60: 00000000 bea2aa54 00008914 00000007 00000000 00000000 00000005 c00b3727
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.824556] 9f80: 00000007 00000000 bea2aa54 000a5ae0 00000001 00000007 00000036 c000c1c4
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.833563] 9fa0: d5988000 c000c021 000a5ae0 00000001 00000007 00008914 bea2aa54 00001003
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.842606] 9fc0: 000a5ae0 00000001 00000007 00000036 00000007 bea2ab4c 000a5ae0 00000005
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.851646] 9fe0: 000a85c4 bea2aa50 0006a87b b6ce1f6c 60000010 00000007 00000000 00000000
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.985588] Code: 61a2 f8cd 8000 9301 (601a) 9702
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
send_packet: Network is down
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 10
send_packet: Network is down
^Xc^Z
[1]+ Stopped ifup wlan0
이제 이번에는 다음을 입력했습니다 ifconfig wlan0
(어딘가로 이동).
root@beaglebone:~# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:c0:ca:6d:70:3d
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
이제 힌트를 바탕으로 시도해 보세요.여기:
root@beaglebone:~# ip link set wlan0 up
RTNETLINK answers: Operation not possible due to RF-kill
root@beaglebone:~#
이제 이 RF-kill 오류를 해결하려고 합니다.이것밥을 먹이다.
어휴 -- 나 "강하게 차단"당하고 있어요
root@beaglebone:~# rfkill list all
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: yes
root@beaglebone:~#
답변1
결국 Dbo의 도움 덕분에 이는 매우 간단했습니다. 이 작업이 시작될 때 이미 wpa_supplicant를 설치했기 때문에 이 작업에 wpa_supplicant가 필요한지 확인할 수 없습니다( aptitude install wpasupplicant
).
이것이 내가 한 일입니다:
1. sudo nano /etc/network/인터페이스
- WiFi 예제 부분을 편집하고 주석을 제거합니다.
- Allow-hotplug wlan0을 추가합니다(또는 해당 항목이 있고 주석 처리되지 않았는지 확인).
- 자동 wlan0에 주석을 달고 유지하세요(이 제안에 대해 Dbo에게 감사드립니다)
- 일반 텍스트(wpa-ssid)로 무선 네트워크 이름을 추가하세요.
- 일반 텍스트로 비밀번호를 추가하세요(wpa-psk)
2. 재부팅(선택 사항이지만 어떤 이유로든 해야 했고 이후의 모든 재부팅에서 작동했습니다)
3. iwconfig
이것링크결국 많은 유용한 정보를 제공하게 되었지만 어떤 이유로든 , 를 입력할 필요가 없습니다 ip a
. ip link set wlan0 up
이전에 이미 수행했기 때문인지 아니면 "그냥 작동"하기 때문인지 확인할 수 없습니다. 이제 BeagleBone이 부팅될 때마다 WiFi 네트워크를 자동으로 감지합니다. 확인을 위해 입력합니다 curl www.google.com
.
업데이트: 그래서 IP 링크 세트 wlan0 up/down 문제를 테스트하고 싶었습니다. 끄려면 어떤 이유로든 두 번 꺼짐으로 설정해야 합니다. 이렇게 하면 동글의 파란색 표시등이 꺼집니다. wlan0을 다시 위로 설정하면 다시 켜지고 네트워크에 자동 연결됩니다(깜박임).
그런 다음 추가 테스트를 위해 wlan0을 다운으로 설정하고 재부팅했습니다. 이번에는 다시 시작했을 때 USB 동글 표시등이 잠깐 깜박였습니다.그다음엔 쉬었어. , 및 를
입력하려고 했을 때 알 수 있듯이 이전의 "하드 블록"이 반환되었습니다 .ip link set wlan0 up
rfkill list all
BeagleBone을 재부팅했더니 이 문제가 사라졌습니다.
따라서 업데이트를 요약하려면 wlan0을 종료한 상태에서 종료하지 마세요. 그렇게 하는 경우 wlan0을 작동(실패)으로 설정한 다음 재부팅해야 할 수도 있습니다.
마지막으로, 이 WiFi USB 동글은 매우 뜨겁게 작동합니다! 맞춤형 안테나로 전환할 수 있는 강력한 안테나가 있다는 점에서는 훌륭하지만 BeagleBone 자체보다 최소 5배 더 뜨겁습니다. 이는 몇 와트의 열이 낭비된다는 의미입니다. 원격 태양광 배터리 구동 설정에 이것을 사용할 것이기 때문에 이 WiFi 동글을 안정적으로 켜고 끄는 방법을 배워야 합니다. ip link set wlan0 down
이것으로 충분할 지는 잘 모르겠습니다 . 실제로 이 명령은 연결 해제에 작동하여 USB 동글의 파란색 상태 표시등이 계속 켜져 있지만(이전 깜박임에서) 전력 소비량은 테스트해야 합니다(현재는 발생하는 열에 따라 진행됨).
업데이트 2: 어떤 이유로 이 모든 것이 작동을 멈췄습니다. 결국 ifup 명령을 사용해야 했습니다(내 생각에는 wpa_supplicant의 일부). ifup wlan0, ifdown wlan0, ifquery ... 등 결국 ifdown -a (all down) 모든 것을 종료하고 ifup wlan0을 사용하여 켤 수 있었습니다.