Cia peb ua phooj ywg RaspberryPi nrog TP-Txuas TL-WN727N

Hlo Habr!

Ib zaug kuv txiav txim siab txuas kuv raspberry rau hauv Internet hla huab cua.

Tsis tau sai dua hais tias ua tiav, rau lub hom phiaj no kuv yuav ib lub usb wi-fi xuav los ntawm lub tuam txhab paub zoo TP-Link los ntawm lub khw ze tshaj plaws. Kuv mam li hais tam sim ntawd tias qhov no tsis yog qee yam ntawm nano usb module, tab sis kuj yog ib qho khoom siv loj heev, txog qhov loj ntawm lub flash drive li niaj zaus (lossis, yog tias koj nyiam, qhov loj me ntawm tus txiv neej laus lub ntiv tes). Ua ntej kev yuav khoom, kuv tau tshawb fawb me ntsis ntawm cov npe ntawm cov neeg tsim khoom lag luam txhawb nqa rau RPI thiab TP-Txuas yog nyob rau hauv daim ntawv teev npe (txawm li cas los xij, raws li nws tau tshwm sim tom qab, kuv tsis tau coj mus rau hauv tus account lub subtleties, vim dab ntxwg nyoog, raws li peb paub. , yog nyob rau hauv cov ntsiab lus). Yog li, zaj dab neeg txias ntawm kuv qhov kev ua tsis ncaj ncees pib; peb nthuav qhia rau koj mloog ib zaj dab neeg tshawb nrhiav hauv 3 ntu. Rau cov neeg nyiam, thov xa mus rau miv.

Tshooj lus Txuas WN727N WiFi adapter rau Ubuntu / Mint Nws pab kuv ib nrab, tab sis thawj yam ua ntej.

Cov xwm txheej ntawm qhov teeb meem

Muab:

  1. Ib lub rooj tsavxwm computer Raspberry Pi 2 B v1.1 - 1 daim
  2. usb wi-fi xuav WN727N - 1 pc
  3. ib khub ntawm tsis heev crooked tes - 2 pieces
  4. Qhov tseeb Raspbian tau teeb tsa raws li OS (raws li Debian 10 Buster)
  5. kernel version 4.19.73-v7+

Nrhiav: txuas rau Is Taws Nem (Wi-Fi yog faib los ntawm koj lub tsev router)

Tom qab unpacking lub adapter, kuv nyeem cov lus qhia hauv:

System Compatibility: Windows 10/8/7/XP (txawm lub ntuj, txawm XP) thiab MacOS 10.9-10.13

Hmm, raws li niaj zaus, tsis yog ib lo lus hais txog Linux. Nws yog 2k19, thiab cov tsav tsheb tseem xav tau los ua ke manually ...

Peb muaj nrog peb 2 compilers, 75 txhiab lub tsev qiv ntawv, tsib binary blobs, ib nrab ntawm cov poj niam liab qab nrog lub logo thiab tag nrho hiav txwv ntawm headers ntawm txhua hom lus thiab markups. Tsis yog qhov no yog qhov tsim nyog rau kev ua haujlwm. Tab sis thaum koj pib sib sau ua ke rau koj tus kheej, nws nyuaj rau nres. Qhov tsuas yog qhov uas ua rau kuv txhawj xeeb yog cov tsav tsheb rau wi-fi. Tsis muaj dab tsi ntau pab tau, tsis muaj kev lav phib xaub thiab tsis ncaj ncees dua li tsim cov tsav tsheb los ntawm qhov chaw. Tab sis kuv paub tias tsis ntev los sis tom qab ntawd peb yuav hloov mus rau cov khib nyiab no.

Feem ntau, raws li koj paub, fiddling nrog usb wi-fi ntawm Linux yog mob thiab me ntsis tasteless (zoo li Russian sushi).

Lub thawv kuj muaj CD nrog cov tsav tsheb. Tsis muaj kev cia siab ntau kuv saib dab tsi ntawm nws - lawv yeej tsis tau saib xyuas nws. Kev tshawb fawb hauv Is Taws Nem coj kuv mus rau cov chaw tsim khoom lub vev xaib, tab sis muaj tus tsav tsheb Linux nyob ntawd tsuas yog rau kev kho dua tshiab v4, thiab hauv kuv txhais tes yog v5.21. Thiab dhau li ntawd, rau cov laus laus versions 2.6-3.16. Kev poob siab los ntawm qhov tsis ua haujlwm thaum pib, kuv twb xav tias kuv yuav tsum tau coj TL-WN727N (nws yog qhov kim dua me ntsis thiab tuaj yeem daws 300Mbps piv rau 150 rau kuv, tab sis raws li nws tau muab tawm, qhov no tsis muaj teeb meem rau kuv. lub raspberry, qhov no yuav sau txog tom qab). Tab sis qhov tseem ceeb tshaj plaws yog cov tsav tsheb rau nws twb muaj lawm thiab tsuas yog ntsia raws li pob firmware-ralink. Feem ntau koj tuaj yeem saib cov cuab yeej kho dua tshiab ntawm lub cev lub cev ntawm daim ntawv nplaum ntawm tus lej xov tooj.

Ntxiv googling thiab mus saib ntau lub rooj sab laj tsis tau coj zoo heev. Thaj tsis muaj leej twg ua ntej kuv tau sim txuas xws li lub adapter rau Linux. Hm, kuv muaj hmoo zoo li tus txiv neej poob dej.

Txawm li cas los xij, tsis yog, kuv dag, mus saib cov rooj sab laj (feem ntau yog lus Askiv) kuj ua rau txiv hmab txiv ntoo; hauv qee lub ntsiab lus muaj ib qho kev hais txog qee yam Mr. lwfinger, uas yog nto moo rau kev sau ntawv ntau tus tsav tsheb rau Wi-Fi adapters. . Nws git repository yog qhov kawg ntawm tsab xov xwm hauv cov kev sib txuas. Thiab zaj lus qhia thib ob kuv tau kawm yog tias koj yuav tsum txheeb xyuas koj lub cuab yeej kom nkag siab tias tus tsav tsheb twg yuav haum rau nws.

Ntu 1: Lub Bourne Identity

Thaum lub cuab yeej tau ntsaws rau hauv qhov chaw nres nkoj, tau kawg, tsis muaj LED teeb. Thiab feem ntau nws tsis meej nyob rau hauv txhua txoj kev seb ib yam dab tsi ua haujlwm los yog tsis.

Ua ntej tshaj plaws, kom paub seb lub ntsiav pom peb lub cuab yeej, kuv saib hauv dmesg:

[  965.606998] usb 1-1.3: new high-speed USB device number 9 using dwc_otg
[  965.738195] usb 1-1.3: New USB device found, idVendor=2357, idProduct=0111, bcdDevice= 0.00
[  965.738219] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  965.738231] usb 1-1.3: Product: 802.11n NIC
[  965.738243] usb 1-1.3: Manufacturer: Realtek
[  965.738255] usb 1-1.3: SerialNumber: 00E04C0001

Nws muab tawm tias nws pom, thiab nws tseem pom tseeb tias muaj Realtek nti thiab VID / PID ntawm lub cuab yeej nws tus kheej ntawm lub tsheb npav usb.

Wb mus ntxiv thiab saib lsusb, thiab ntawm no lwm qhov kev ua tsis tiav tos peb

Bus 001 Device 008: ID 2357:0111 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Lub kaw lus tsis paub tias nws yog dab tsi, thiab bashfully qhia qhov chaw khoob tsis yog lub npe (txawm tias tus neeg muag khoom = 2357 yog TP-Txuas).

Nyob rau theem no, tus nyeem ntawv inquisitive tej zaum twb pom ib yam dab tsi nthuav, tab sis peb yuav tso nws mus txog rau thaum peb lub sij hawm.

Kev tshawb nrhiav qhov teeb meem ntawm cov npe khoob tau coj kuv mus rau qhov chaw uas muaj cov cim qhia, qhov twg cov ntaub ntawv paub txog VID / PID nkag mus. Peb 2357:0111 tsis nyob ntawd. Raws li nws muab tawm tom qab, kev siv hluav taws xob lsusb siv cov ntaub ntawv /usr/share/misc/usb.ids, uas yog tib daim ntawv teev npe IDs los ntawm qhov chaw no. Rau kev zoo nkauj ntawm cov zaub, kuv tsuas ntxiv kab rau tus neeg muag khoom TP-Txuas hauv kuv lub cev.

2357  TP-Link
        0111  TL-WN727N v5.21

Zoo, peb tau kho cov zaub hauv cov npe ntawm cov khoom siv, tab sis qhov no tsis coj peb ib kauj ruam los ze zog rau kev xaiv tus tsav tsheb. Txhawm rau xaiv tus tsav tsheb, koj yuav tsum paub dab tsi nti koj lub xuav yog tsim rau. Qhov kev sim ua tsis tiav tom ntej los nrhiav qhov no hauv Is Taws Nem tsis ua rau muaj dab tsi zoo. Armed nrog ib tug nyias slotted screwdriver, kuv ua tib zoo rub tawm lub adapter cap thiab txiv ntxawm Liao lub vicious brainchild tshwm nyob rau hauv tag nrho nws cov pristine liab qab. Hauv qab lub iav loj koj tuaj yeem pom lub npe ntawm lub nti - RTL 8188 UAS. Qhov no twb zoo lawm. Ntawm qee lub rooj sib tham kuv pom cov lus hais tias tus neeg tsav tsheb los ntawm tib tus txiv neej laus lwfinger yog qhov zoo rau cov nti no (txawm tias nws tsuas yog sau txog RTL8188EU).

Ntu 2: Lub Bourne Supremacy

Kuv rub tawm cov ntaub ntawv tsav tsheb los ntawm Git.

Nws yog lub sijhawm rov nruab Windows thiab ua dab tsi Linux cov neeg siv feem ntau cuam tshuam nrog - sib sau ua ib yam dab tsi los ntawm qee yam. Sib sau cov tsav tsheb, raws li nws hloov tawm, txawv me ntsis ntawm kev sau cov kev pab cuam:

make
sudo make install

tab sis kom suav cov kernel modules peb xav tau cov ntaub ntawv kernel header rau peb cov version tshwj xeeb.

Muaj ib pob khoom nyob rau hauv Tshuag repository raspberrypi-kernel-headers, tab sis nws muaj cov kernel version ntawm cov ntaub ntawv 4.19.66-v7l+ ib, thiab qhov ntawd tsis haum peb. Tab sis kom tau lub headers ntawm qhov yuav tsum tau version, raws li nws muab tawm, muaj ib tug yooj yim cuab tam rpi-qhov chaw (txuas tom kawg ntawm Github), uas koj tuaj yeem rub tawm cov ntawv tsim nyog. Peb clone lub repository, ua cov ntawv executable, thiab khiav nws. Thawj qhov kev tso tawm ua tsis tiav nrog qhov yuam kev - tsis muaj kev siv hluav taws xob bc. Hmoov zoo, nws yog nyob rau hauv lub repository thiab peb cia li nruab nws.

sudo apt-get install bc

Tom qab qhov no, rov pib dua thiab rub tawm cov headers (thiab tom qab ntawd teeb tsa ib yam dab tsi, kuv tsis nco qab tam sim no) siv sijhawm qee lub sijhawm thiab koj tuaj yeem zaum rov qab rau hauv koj lub rooj zaum, Windows tau zoo dua hauv txhua qhov kev tshwm sim.

Tom qab tag nrho cov headers tau downloaded, xyuas tias cov directory tshwm /lib/modules/4.19.73-v7+ thiab nyob rau hauv nws lub symlink ntsiab lus rau qhov chaw uas cov ntaub ntawv downloaded nyob (rau kuv nws yog /home/pi/linux):

pi@raspberrypi:/home/pi/rtl8188eu# ls -l /lib/modules/4.19.73-v7+/
lrwxrwxrwx  1 root root     14 Sep 24 22:44 build -> /home/pi/linux

Cov theem npaj tau tiav lawm, koj tuaj yeem pib sib dhos. Sib sau ua ke cov modules dua yuav siv sij hawm me ntsis, Raspberry tsis yog tsiaj nyaum ceev (nws muaj 32 ntsis 900Mhz Cortex ARM v7).
Yog li txhua yam muab tso ua ke. Peb teeb tsa tus tsav tsheb hauv kauj ruam 2 (ua teeb tsa), thaum tseem luam cov ntaub ntawv firmware ntxiv tsim nyog rau tus tsav tsheb ua haujlwm:

install:
        install -p -m 644 8188eu.ko  $(MODDESTDIR)
        @if [ -a /lib/modules/$(KVER)/kernel/drivers/staging/rtl8188eu/r8188eu.ko ] ; then modprobe -r r8188eu; fi;
        @echo "blacklist r8188eu" > /etc/modprobe.d/50-8188eu.conf
        cp rtl8188eufw.bin /lib/firmware/.
        /sbin/depmod -a ${KVER}
        mkdir -p /lib/firmware/rtlwifi
        cp rtl8188eufw.bin /lib/firmware/rtlwifi/.

Part 3. The Bourne Ultimatum

Kuv ntsaws lub xuav rau hauv qhov chaw nres nkoj thiab ... tsis muaj dab tsi tshwm sim. Puas yog tag nrho rau tsis muaj dab tsi?

Kuv pib kawm cov ntaub ntawv hauv qhov project thiab hauv ib qho ntawm lawv kuv pom qhov teeb meem yog dab tsi: tus neeg tsav tsheb qhia tag nrho cov npe ntawm VID / PID tus lej uas nws tuaj yeem ua haujlwm. Thiab txhawm rau kom peb lub cuab yeej ua haujlwm nrog tus tsav tsheb no, kuv tsuas ntxiv kuv tus ID rau hauv cov ntaub ntawv rtl8188eu/os_dep/usb_intf.c

static struct usb_device_id rtw_usb_id_tbl[] = {
        /*=== Realtek demoboard ===*/
        {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8179)}, /* 8188EUS */
        {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0179)}, /* 8188ETV */
        /*=== Customer ID ===*/
        /****** 8188EUS ********/
        {USB_DEVICE(0x07B8, 0x8179)}, /* Abocom - Abocom */
        {USB_DEVICE(0x0DF6, 0x0076)}, /* Sitecom N150 v2 */
        {USB_DEVICE(0x2001, 0x330F)}, /* DLink DWA-125 REV D1 */
        {USB_DEVICE(0x2001, 0x3310)}, /* Dlink DWA-123 REV D1 */
        {USB_DEVICE(0x2001, 0x3311)}, /* DLink GO-USB-N150 REV B1 */
        {USB_DEVICE(0x2001, 0x331B)}, /* D-Link DWA-121 rev B1 */
        {USB_DEVICE(0x056E, 0x4008)}, /* Elecom WDC-150SU2M */
        {USB_DEVICE(0x2357, 0x010c)}, /* TP-Link TL-WN722N v2 */
        {USB_DEVICE(0x2357, 0x0111)}, /* TP-Link TL-WN727N v5.21 */
        {}      /* Terminating entry */
};

Kuv recompied tus tsav tsheb thiab reinstalled nws nyob rau hauv lub system.

Thiab lub sijhawm no txhua yam pib. Lub teeb ntawm lub adapter teeb thiab ib lub cuab yeej tshiab tau tshwm sim hauv cov npe ntawm kev sib txuas hauv network.

Saib wireless interfaces qhia cov hauv qab no:

pi@raspberrypi:/home/pi/rtl8188eu# iwconfig
eth0      no wireless extensions.

lo        no wireless extensions.

wlan0     unassociated  ESSID:""  Nickname:"<WIFI@REALTEK>"
          Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=0/100  Signal level=0 dBm  Noise level=0 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Nyiaj tshwj xeeb rau cov uas nyeem kom txog thaum kawg

Nco ntsoov li cas kuv hais tias nws tsis muaj teeb meem dab tsi ceev tshaj plaws yog teev nyob rau hauv koj lub adapter?
Yog li, ntawm Malinka (ua ntej tso tawm qauv 4), txhua yam khoom siv (xws li ethernet adapter) zaum ntawm tib lub tsheb npav usb. Zoo heev, txoj cai? Thiab yog li ntawd lub bandwidth ntawm lub tsheb npav usb tau muab faib ntawm txhua yam khoom siv ntawm nws. Thaum ntsuas qhov ceev ntawm ob qho tib si ntawm ethernet thiab ntawm usb wi-fi (txuas mus rau 1 router) ob qho tib si los ntawm huab cua thiab xaim, nws nyob ib puag ncig 20Mbit / s.

PS feem ntau, phau ntawv qhia no rau kev sau tus tsav tsheb rau qhov tshwj xeeb adapter no siv tau tsis yog rau RPI nkaus xwb. Tom qab ntawd kuv rov ua nws ntawm kuv lub desktop nrog Linux Mint - txhua yam ua haujlwm nyob ntawd thiab. Koj tsuas yog yuav tsum rub tawm cov ntaub ntawv header tsim nyog rau koj cov ntsiav version tib yam nkaus.

UPD. Cov neeg txawj ntse tau hais tias: txhawm rau kom tsis txhob nyob ntawm cov ntsiav version, koj yuav tsum sau thiab nruab cov tsav tsheb siv dkms. Lub readme rau tus tsav tsheb kuj muaj qhov kev xaiv no.

pi@raspberrypi:/home/pi# sudo dkms add ./rtl8188eu
pi@raspberrypi:/home/pi# sudo dkms build 8188eu/1.0
pi@raspberrypi:/home/pi# sudo dkms install 8188eu/1.0

UPD 2. Tswv yim thaj rau ntaus ntawv ID tau txais mus rau hauv lub mainstream ceg ntawm lub lwfinger/rtl8188eu repository.

ua tim khawv
- RPi USB Wi-nkaus Adapters
- Gitbub lwfinger/rtl8188eu
- usb.ids
- rpi-qhov chaw

Tau qhov twg los: www.hab.com