저는 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 칩에 사용하는 것과 동일한 드라이버일 것입니다.
또한 - "네트워크 관리자"라는 것이 있다고 들었습니다. 이 기능을 사용해야 합니까? 그렇다면 이 임베디드 Linux 시스템에서 터미널을 통해 어떻게 다운로드하여 설치할 수 있습니까?
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님의 도움으로 아주 쉬워졌습니다. aptitude install wpasupplicant
작동을 시작할 때 이미 wpa_supplicant를 설치했기 때문에( ) 작동하는 데 wpa_supplicant가 필요한지 확인할 수 없습니다 .
이것이 내가 한 일입니다:
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...etc 그리고 마지막으로 ifdown -a(off all)는 모든 것을 끄고 ifup wlan0을 사용하면 켤 수 있습니다.