Ha re etse metsoalle RaspberryPi ka TP-Link TL-WN727N

Hey Habr!

Ka nako e 'ngoe ke ile ka etsa qeto ea ho hokahanya raspberry ea ka Inthaneteng moeeng.

Hang ha ke boletse, ka morero ona ke ile ka reka mololi oa usb wi-fi k'hamphaning e tsebahalang ea TP-Link lebenkeleng le haufi. Ke tla re hang-hang sena ha se mofuta o mong oa nano usb module, empa ke sesebelisoa se seholo haholo, se ka bang boholo ba mochine o tloaelehileng oa flash drive (kapa, haeba u rata, boholo ba monoana oa index oa motho e moholo). Pele ke reka, ke ile ka etsa lipatlisiso tse nyane lethathamong la bahlahisi ba mololi ba tšehetsoeng bakeng sa RPI le TP-Link e ne e le lethathamong (leha ho le joalo, joalokaha ho ile ha etsahala hamorao, ha kea ka ka nahana ka bolotsana, hobane diabolosi, kamoo re tsebang kateng. , e ka lintlha). Kahoo, pale e batang ea litsietsi tsa ka e qala; re u fa tlhokomelo ea pale ea lefokisi likarolong tse 3. Bakeng sa ba thahasellang, ka kopo sheba katse.

Sengoloa Ho hokela adaptara ea WiFi ea WN727N ho Ubuntu/Mint E nthusitse hanyane, empa lintho tsa pele pele.

Maemo a bothata

Fuoa:

  1. k'homphieutha e le 'ngoe ea boto Raspberry Pi 2 B v1.1 - 1 sengoathoana
  2. usb wi-fi mololi WN727N - 1 sengoathoana
  3. matsoho a mabeli a sa khopameng - likotoana tse 2
  4. Raspbian ea morao-rao e kentsoe e le OS (e thehiloeng ho Debian 10 Buster)
  5. mofuta oa kernel 4.19.73-v7+

Fumana: hokela Marang-rang (Wi-Fi e tsamaisoa ho tsoa ho router ea lapeng)

Kamora ho manolla adaptara, ke ile ka bala litaelo ka hare:

Tšebelisano ea Sistimi: Windows 10/8/7/XP (esita le leholimo, esita le XP) le MacOS 10.9-10.13

Hmm, joalo ka tloaelo, ha ho lentsoe ka Linux. E ne e le 2k19, mme bakhanni ba ne ba ntse ba hloka ho kopanngoa ka letsoho ...

Re ne re e-na le baqapi ba 2, lilaebrari tse likete tse 75, li-blobs tse hlano tsa binary, halofo ea basali ba hlobotseng ba nang le letšoao le leoatle lohle la lihlooho tsa lipuo tsohle le matšoao. Ha se hore sena ke sete e hlokahalang bakeng sa mosebetsi. Empa hang ha o qala ho bokella sistimi bakeng sa hau, ho ba thata ho emisa. Ntho feela e ileng ea etsa hore ke tšoenyehe ke bakhanni ba wi-fi. Ha ho letho le se nang thuso, le se nang boikarabelo le le bolileng ho feta ho haha ​​​​bakhanni ba tsoang mohloling. Empa ke ne ke tseba hore ho e-s’o ee kae re tla fetohela matlakala ana.

Ka kakaretso, joalo ka ha u tseba, ho bapala le usb wi-fi ho Linux ho joalo e bohloko ebile e batla e hloka tatso (joaloka sushi ea Serussia).

Lebokose le boetse le na le CD e nang le bakhanni. Ntle le ts'epo e kholo ke sheba se ho eona - ka 'nete ha ba so ka ba e hlokomela. Patlisiso ea Marang-rang e ntlisitse webosaeteng ea moetsi, empa ho na le mokhanni oa Linux moo feela bakeng sa ntlafatso ea sesebelisoa v4, 'me matsohong a ka e ne e le v5.21. Ntle le moo, bakeng sa mefuta ea khale haholo ea kernel 2.6-3.16. Ke nyahamisitsoe ke ho hlōleha qalong, ke ne ke se ke ntse ke nahana hore nka be ke nkile TL-WN727N (e theko e boima haholo 'me e khona ho sebetsana le 300Mbps khahlanong le 150 bakeng sa ka, empa ha e le hantle, sena ha se tsotellehe ho hang. bakeng sa raspberry, sena se tla ngoloa hamorao). Empa ntho ea bohlokoa ka ho fetisisa ke hore bakhanni ba eona ba se ba ntse ba le teng 'me ba kentsoe feela e le sephutheloana firmware-ralink. Hangata o ka sheba ntlafatso ea sesebelisoa 'meleng oa sesebelisoa ho setikara se haufi le nomoro ea serial.

Ho tsoela pele ka googling le ho etela liforamu tse fapaneng ha hoa tlisa molemo o mongata. Ho hlakile hore ha ho motho pele ho 'na ea kileng a leka ho hokahanya adaptara e joalo ho Linux. Hmm, ke lehlohonolo joalo ka monna ea khangoang ke metsi.

Leha ho le joalo, che, ke bua leshano, ho etela liforamu (haholo-holo tsa Senyesemane) le hona ho hlahisitse litholoana; lihloohong tse ling ho ile ha buuoa ka Monghali lwfinger, ea tummeng ka ho ngola bakhanni ba bangata ba li-adapter tsa Wi-Fi. . Sebaka sa hae sa polokelo ea git se qetellong ea sengoloa lihokelong. 'Me thuto ea bobeli eo ke ithutileng eona ke hore u hloka ho tseba sesebelisoa sa hau e le hore u utloisise hore na ke mokhanni ofe ea ka e loketseng.

Karolo ea 1: Bourne Identity

Ha sesebelisoa se kenngoa boema-kepeng, ha e le hantle, ha ho na LED e khantšitsoeng. 'Me ka kakaretso ha e hlake ka tsela leha e le efe hore na ho na le ntho e sebetsang kapa che.

Pele ho tsohle, ho fumana hore na kernel e bona sesebelisoa sa rona, ke sheba 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

Ho ile ha fumaneha hore e ea bona, 'me e bile e hlakile hore ho na le chip ea Realtek le VID / PID ea sesebelisoa ka boeona ka bese ea usb.

Ha re feteleng pele mme re shebe lsusb, ’me mona re letetsoe ke ho hlōleha ho hong

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

Sistimi ha e tsebe hore na ke sesebelisoa sa mofuta ofe, 'me ka lihlong e bonts'a sebaka se se nang letho ho fapana le lebitso (le hoja morekisi = 2357 ehlile e le TP-Link).

Mothating ona, mohlomong 'mali ea nang le tsebo o se a hlokometse ho hong ho khahlisang, empa re tla e tlohela ho fihlela mehleng ea rona.

Ho etsa lipatlisiso ka bothata ba mabitso a se nang letho ho ile ha nkisa setšeng se nang le li-identifiers, moo tlhahisoleseding e mabapi le VID / PID e tsejoang e kenngoa. 2357:0111 ea rona e ne e le sieo. Joalokaha e ile ea e-ba hamorao, lisebelisoa lsusb e sebelisa file /usr/share/misc/usb.ids, e leng lenane le tšoanang la li-ID tse tsoang sebakeng sena. Bakeng sa botle ba pontšo, ke kentse melapo bakeng sa morekisi TP-Link tsamaisong ea ka.

2357  TP-Link
        0111  TL-WN727N v5.21

Hantle, re ile ra lokisa pontšo lethathamong la lisebelisoa, empa ha ea ka ea re tlisetsa mohato o le mong ho khetha mokhanni. Ho khetha mokhanni, o hloka ho tseba hore na mololi oa hau o entsoe ka chip efe. Boiteko bo latelang bo sa atleheng ba ho fumana sena inthaneteng ha boa ka ba lebisa ho letho le letle. Ke hlometse ka screwdriver e tšesaane e koetsoeng, ke phunya sekoaelo sa adaptara ka hloko 'me kelello e mpe ea Malome Liao e hlaha bofeela bohle ba eona. Ka tlas'a khalase e khanyang u ka bona lebitso la chip - Tlhaloso: RTL8188EUS. Sena se se se le molemo. Libakeng tse ling ke ile ka bona melaetsa ea hore mokhanni ea tsoang ho monna eo lwfinger o loketse chip ena (le hoja a ngola feela ka RTL8188EU).

Karolo ea 2: Bourne Supremacy

Ke khoasolla mehloli ea bakhanni ho tsoa ho Git.

Ke nako ea ho kenya Windows hape le ho etsa seo basebelisi ba Linux ba atisang ho amahanngoa le sona - ho bokella ho hong ho tsoa mefuteng e meng. Ho bokella bakhanni, joalo ka ha ho bonahala, ho fapana hanyane le ho hlophisa mananeo:

make
sudo make install

empa ho bokella li-module tsa kernel re hloka lifaele tsa hlooho ea kernel bakeng sa mofuta oa rona o ikhethileng.

Ho na le sephutheloana sebakeng sa polokelo ea thepa lihlooho tsa raspberrypi-kernel, empa e na le mofuta oa kernel oa lifaele 4.19.66-v7l+, ’me seo ha se re tšoanele. Empa ho fumana lihlooho tsa mofuta o hlokahalang, joalo ka ha ho ile ha fumaneha hore ho na le sesebelisoa se loketseng mohloli oa rpi (link qetellong ho Github), eo ka eona u ka khoasolla lihlooho tse hlokahalang. Re kopanya polokelo, re etsa hore script e phethahale, ebe re e tsamaisa. Phatlalatso ea pele e hloleha ka phoso - ha ho na thuso bc. Ka lehlohonolo, e sebakeng sa polokelo mme re e kenya feela.

sudo apt-get install bc

Ka mor'a moo, ho qala hape le ho khoasolla lihlooho (ebe ho theha ntho e itseng, ha ke hopole hona joale) ho nka nako 'me u ka lula fatše' me Windows e se e le betere lipontšong tsohle tsa eona.

Ka mor'a hore lihlooho tsohle li jarollotsoe, hlahloba hore na directory ea hlaha /lib/modules/4.19.73-v7+ 'me ho eona symlink e supa moo lifaele tse jarollotsoeng li leng teng (ho nna ke /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

Sethala sa ho itokisa se phethiloe, u ka qala kopano. Ho kopanya li-modules hape ho nka nako, Raspberry ha se sebata se potlakileng (e na le 32bit 900Mhz Cortex ARM v7).
Kahoo tsohle li hlophisitsoe. Re kenya mokhanni mohatong oa 2 (etsa kenya), ha o ntse o kopitsa lifaele tse ling tsa firmware tse hlokahalang hore mokhanni a sebetse:

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/.

Karolo ea 3. The Bourne Ultimatum

Ke kenya mololi koung 'me ... ha ho letho le etsahalang. Na tsohle e ne e le lefeela?

Ke qala ho ithuta lifaele tse ka hare ho morero 'me ho e' ngoe ea tsona ke fumana hore na bothata e ne e le bofe: mokhanni o bolela lethathamo le feletseng la li-identifiers tsa VID / PID tseo a ka li sebelisang. E le hore sesebelisoa sa rona se sebetse le mokhanni enoa, ke kentse feela id ea ka faeleng 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 */
};

Ke ile ka khutlisa mokhanni mme ka e kenya hape ho sistimi.

Mme kgetlong lena tsohle tsa qala. Leseli la adaptara le ile la khantša 'me ho ile ha hlaha sesebelisoa se secha lethathamong la likhokahano tsa marang-rang.

Ho sheba li-interfaces tse se nang mohala ho bontša tse latelang:

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

Bonus bakeng sa ba balang ho fihlela qetellong

Hopola kamoo ke boletseng hore ha ho na taba hore na lebelo le phahameng le boletsoe ho adaptara ea hau?
Kahoo, ho Malinka (pele ho ho lokolloa ha mohlala oa 4), lisebelisoa tsohle (ho kenyeletsoa adapter ea ethernet) li lutse ka bese e le 'ngoe ea usb. E kholo, ho joalo? Ka hona, bandwidth ea bese ea usb e arotsoe lipakeng tsa lisebelisoa tsohle tse ho eona. Ha u metha lebelo ka ethernet le ka usb wi-fi (e hoketsoeng ho router e 1) ka moea le ka terata, e ne e le ho pota 20Mbit/s.

PS Ka kakaretso, tataiso ena ea ho bokella mokhanni bakeng sa adaptara ena ha e sebetse feela bakeng sa RPI. Ke ile ka e pheta komporong ea ka ka Linux Mint - tsohle li ne li sebetsa moo. U hloka feela ho jarolla lifaele tsa hlooho tse hlokahalang bakeng sa mofuta oa hau oa kernel ka tsela e ts'oanang.

UPD. Batho ba nang le tsebo ba khothalelitse: e le hore u se ke ua itšetleha ka mofuta oa kernel, u lokela ho bokella le ho kenya bakhanni ba sebelisang dkms. The readme bakeng sa mokhanni e boetse e na le khetho ena.

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

UPD2. E sisintsweng patch bakeng sa id ea sesebelisoa e amohetsoe lekaleng la mantlha la polokelo ea lwfinger/rtl8188eu.

litšupiso
- RPi USB Wi-Fi Adapter
- Gitbub lwfinger/rtl8188eu
- usb.ids
- mohloli oa rpi

Source: www.habr.com