Singabahlobo RaspberryPi kunye TP-Link TL-WN727N

Hayi Habr!

Ndacinga ngandlela thile ndidibanisa iraspberry yam kwi-Intanethi ngomoya.

Kungekudala, ngenxa yoku, impempe evela kwinkampani eyaziwayo ye-TP-Link yathengwa kwivenkile ekufutshane ye-usb wi-fi. Ndimele nditsho kwangoko ukuba olu asilohlobo oluthile lwemodyuli ye-usb, kodwa sisixhobo esipheleleyo malunga nobukhulu be-USB flash drive eqhelekileyo (kakuhle, okanye ukuba uyathanda, ngomnwe wesalathiso somntu omdala). Ngaphambi kokuthenga, ndifunde kancinci uluhlu lwabavelisi bempempe abaxhaswayo be-RPI kunye ne-TP-Link kuluhlu (nangona kunjalo, njengoko kwavela kamva, andizange ndithathele ingqalelo ubuqili, kuba usathana, njengoko uyazi, uxoka. kwiinkcukacha). Ke, ibali elibandayo malunga nokungahambi kakuhle kwam liqala, ibali lomcuphi kwiindawo ezi-3 linikezelwa kwingqalelo yakho. Ndinomdla nceda phantsi kwekati.

I sihloko Qhagamshela iadaptha yeWiFi iWN727N kuBuntu/Mint Ndancedisa kancinane, kodwa izinto zokuqala kuqala.

Iimeko zengxaki

Nikiwe:

  1. ibhodi enye computer Raspberry Pi 2 B v1.1 - 1 isiqwenga
  2. usb wi-fi impempe WN727N - 1 isiqwenga
  3. ipere yezandla ezingagosonga ncam - iziqwenga ezi-2
  4. iRaspbian yamva nje efakwe njenge-OS (esekwe kwi-debian 10 Buster)
  5. inguqulo ye-kernel 4.19.73-v7+

Fumana: qhagamshela kwi-Intanethi (i-Wi-Fi isasazwe kwirutha yasekhaya)

Emva kokukhulula iadaptha, ndafunda imiyalelo ngaphakathi:

Ukuhambelana kweNkqubo: Windows 10/8/7/XP (nditsho isibhakabhaka, nkqu XP) kunye neMacOS 10.9-10.13

Hmm, malunga neLinux, njengesiqhelo, hayi igama. Kwakuyi-2k19, kwaye abaqhubi bekusafuneka badityaniswe ngesandla ...

Sasinabaqulunqi aba-2 kunye nathi, amathala eencwadi angama-75 amawaka, iiblobhu ezintlanu, isiqingatha sabafazi abanqunu abanophawu kunye nolwandle olupheleleyo lweentloko zazo zonke iilwimi kunye nemarkups. Yayingekuko ukuba yayiyisiseko esiyimfuneko somsebenzi. Kodwa xa uqala ukuzihlanganisela inkqubo, kuba nzima ukuyiyeka. Ekuphela kwento eyandikhathazayo yayingabaqhubi be-wi-fi. Akukho nto ingenakuzenzela nto, engakhathaliyo nekhohlakeleyo njengokwakha abaqhubi ukusuka kumthombo. Kodwa ndandisazi ukuba kungekudala siza kutshintshela kule nkunkuma.

Ngokubanzi, njengoko usazi, ukuxabana nge-usb wi-fi kwiLinux kubuhlungu kwaye noko akukhululekanga (njengesushi yaseRashiya).

Kukho ne-CD yomqhubi kwibhokisi. Ngaphandle kwethemba elininzi, ndijonge into ekuyo - ngokuqinisekileyo, khange bayikhathalele. Uphendlo lwe-Intanethi lundizise kwiwebhusayithi yomenzi, kodwa kukho umqhubi weLinux kuphela wohlaziyo lwesixhobo v4kwaye ndandibambe ezingalweni zam v5.21. Kwaye ngaphandle koko, phantsi kweenguqulelo ezindala kakhulu ze-kernel 2.6-3.16. Ndidimazekile kukungaphumeleli kwasekuqaleni, besele ndicinga ukuba ngendiyithathile i-TL-WN727N (ibiza kakhulu kwaye inokwenza i-300Mbps ngokuchasene ne-150 yam, kodwa njengoko kwavelayo, ayinamsebenzi. i-raspberry konke konke, oku kuya kubhalwa kamva). Kodwa eyona nto ibalulekileyo kukuba sele kukho abaqhubi bayo kwaye bafakwe nje njengephakheji firmware-ralink. Ungadla ngokujonga uhlaziyo lwesixhobo kwikesi yesixhobo kwisincamathelisi esisecaleni kwenombolo yesiriyali.

Ukuqhubeka nokundwendwela iiforam ezahlukeneyo akuzange kuzise nto ilungileyo. Ngokucacileyo akukho mntu ngaphambi kwam wazama ukudibanisa iadaptha enjalo kwiLinux. Hmm, ndinethamsanqa njengendoda erhaxwayo.

Nangona hayi, ndiyaxoka, ukutyelela iiforam (ubukhulu becala abantetho isisiNgesi) nako kuye kwavelisa iziqhamo, kwezinye izihloko kuye kwakhankanywa ngomnye uMnumzana lwfinger, odume ngokubhala iqela labaqhubi beeadaptha zeWi-Fi. Indawo yakhe yokugcina igit isekupheleni kwenqaku kumakhonkco. Kwaye isifundo sesibini endisifundileyo kukuba kufuneka uchonge isixhobo sakho ukuze uqonde ukuba yeyiphi na umqhubi onokusifanela.

Icandelo 1. Ukuchongwa kweBourne

Xa isixhobo sifakwe kwizibuko, akukho kukhanya kwe-LED, kunjalo. Kwaye ngokubanzi, akucaci nangayiphi na indlela ukuba into ethile isebenza okanye ayisebenzi.

Okokuqala, ukufumanisa ukuba i-kernel iyasibona isixhobo sethu, ndijonge kwi-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

Kwavela ukuba uyabona, kwaye kucacile ukuba kukho i-chip ye-Realtek kunye ne-VID / PID yesixhobo ngokwayo kwibhasi ye-usb.

Masiqhubele phambili, sibone lsusb, kwaye apha silindele enye ukusilela

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

Inkqubo ayazi ukuba luhlobo luni lwesixhobo, kwaye ibonisa ngokuhlaza isithuba esingenanto endaweni yegama (nangona umthengisi=2357 ngokuqinisekileyo yi-TP-Link).

Kweli nqanaba, umfundi othanda ukwazi mhlawumbi sele eqaphele into enomdla, kodwa siya kuyihlehlisa kude kube lixesha lethu.

Ukuphanda ingxaki yamagama angenanto kwandikhokelela kwindawo enezazisi, apho ulwazi malunga ne-VID / PID eyaziwayo ifakiwe. I-2357:0111 yethu yayingekho. Njengoko kwavela kamva, usetyenziso lsusb isebenzisa ifayile /usr/share/misc/usb.ids, olululuhlu olufanayo lwe-id ukusuka kweso siza. Ngobuhle bomboniso, ndongeze nje imigca yomthengisi we-TP-Link kuyo kwinkqubo yam.

2357  TP-Link
        0111  TL-WN727N v5.21

Ewe, silungise umboniso kuluhlu lwezixhobo, kodwa oku akuzange kusisondeze inyathelo elinye ekukhetheni umqhubi. Ukukhetha umqhubi, kufuneka wazi ukuba yeyiphi itshiphu impempe yakho yenziwe. Iinzame ezilandelayo ezingaphumelelanga zokufumana kwi-Intanethi azizange zikhokelele kuyo nantoni na elungileyo. Ndixhobe ngesikrudrayiva esicekethekileyo esisityiweyo, ndisikrazule ngononophelo isiciko seadaptha kwaye ukujonga kwam kubonakala kubo bonke ubunqunu bakuqala, ingqondo ekhohlakeleyo kaMalume uLiao. Ngaphantsi kweglasi yokukhulisa, unokubona igama letshiphu - I-RTL8188EUS. Sele ilungile. Kwezinye iiforamu, ndabona izithuba ezithi nje umqhubi wendoda enye i-lwfinger ifanelekele le chip (nangona ethetha kuphela nge-RTL8188EU).

Icandelo 2. IBourne Supremacy

Ndikhuphela ikhowudi yomthombo womqhubi kwi-git.

Lixesha lokuba uphinde ufake iifestile ukwenza oko i-Linuxoids idla ngokunxulunyaniswa nayo - ukudibanisa into ethile kwiintlobo. Njengoko kwavela, ukudibanisa abaqhubi kuyahluka kancinci ekuqulunqeni iinkqubo:

make
sudo make install

kodwa ukuze uqokelele iimodyuli zekernel, sifuna iifayile zentloko yekernel yoguqulelo lwethu oluthile.

Kukho iphakheji kwindawo yokugcina impahla raspberrypi-kernel-headers, kodwa iqulathe uguqulelo lwe kernel yeefayile 4.19.66-v7l +kwaye oko akusebenzi kuthi. Kodwa ukufumana iintloko zenguqu efunwayo, njengoko kwavela, kukho isixhobo esifanelekileyo umthombo we-rpi (ikhonkco ekupheleni kwegithub), onokukhuphela ngayo iiheader ezifunwayo. Sidibanisa indawo yokugcina, yenza iskripthi siphunyezwe, siqhube. Ukuqaliswa kokuqala kusilela ngempazamo - akukho nto iluncedo bc. Ngethamsanqa, ikwindawo yokugcina kwaye siyifaka nje.

sudo apt-get install bc

Emva koko, ukuqalisa kwakhona kunye nokukhuphela iiheader (kwaye emva koko ukuseta into, andikhumbuli ngoku) kuthatha ixesha kwaye unokuthembela kwisitulo sakho iWindows ibe ngcono kuyo yonke imbonakalo yayo.

Emva kokuba zonke ii-headers zikhutshiwe, sijonga ukuba isikhombisi sivele /lib/iimodyuli/4.19.73-v7+ kwaye kuyo i-symlink ikhomba indawo apho iifayile ezikhutshelweyo zibekwe khona (ndinayo /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

Inqanaba lokulungiselela ligqityiwe, ungaqala ukudibanisa. Ukuhlanganiswa kweemodyuli kwakhona kuthatha ixesha elithile, i-raspberry ayilona irhamncwa elikhawulezayo (inelitye le-32bit 900Mhz Cortex ARM v7).
Ngoko yonke into ihlanganiswe. Sifaka umqhubi kwinqanaba le-2 (yenza ufake), ngelixa ukopisha iifayile ze-firmware eziyimfuneko ukuze umqhubi asebenze:

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

Icandelo 3. I-Bourne Ultimatum

Ndifaka impempe kwizibuko kwaye ... akukho nto yenzekayo. Ngaba yonke into yayililize?

Ndiqala ukufunda iifayile ngaphakathi kweprojekthi kwaye kwenye yazo ndifumanisa ukuba yintoni ingxaki: umqhubi unoluhlu olupheleleyo lwe-VID / PID izichazi ezinokuthi zisebenze. Kwaye ukuze isixhobo sethu sisebenze nalo mqhubi, ndongeze nje i-id yam kwifayile 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 */
};

Uphinde waqulunqa umqhubi waza waphinda wayifaka kwisistim.

Kwaye ngeli xesha yonke into yasebenza. Ukukhanya kwi-adaptha kukhanya kwaye isixhobo esitsha sivela kuluhlu lojongano lwenethiwekhi.

Ukujonga ujongano olungenazingcingo kunika oku kulandelayo:

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

Ibhonasi kwabo bafunda kude kube sekupheleni

Khumbula indlela endithe ngayo ayinamsebenzi ukuba sesiphi isantya esiphezulu esibhengezwe kwiadaptha yakho?
Ngoko, kwi-raspberry (ngaphambi kokukhululwa kwemodeli yesi-4), zonke izixhobo (kubandakanywa i-adapter ye-ethernet) zihlala kwibhasi ye-usb efanayo. Ilungile, akunjalo? Kwaye ke i-bandwidth yebhasi ye-usb yabelwana phakathi kwazo zonke izixhobo ezikuyo. Xa ulinganisa isantya nge-ethernet nange-usb wi-fi (eqhagamshelwe kwi-router e-1) zombini emoyeni nangaphaya kocingo ikhuphe malunga ne-20Mbps.

PS Ngokubanzi, esi sikhokelo sokuqulunqa umqhubi wale adaptha ayisebenzi kuphela kwiRPI. Ndiye ndayiphinda kwidesktop yam ngeLinux Mint-yonke into yasebenza nalapho. Udinga nje ukukhuphela iifayile eziyimfuneko kwi-kernel version yakho ngendlela efanayo.

UPD. Abantu abanolwazi bacebise: ukuze ungaxhomeki kwi-kernel version, kufuneka wakhe kwaye ufake abaqhubi usebenzisa i-dkms. I-readme yomqhubi nayo inolu khetho.

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. Icetywayo isiqaqa kwisazisi sesixhobo samkelwe kwisebe elingundoqo logcino lwe-lwfinger/rtl8188eu.

iimbekiselo
- Iiadaptha ze-WiFi ze-RPi ze-USB
- Gitbub lwfinger/rtl8188eu
- usb.ids
- umthombo we-rpi

umthombo: www.habr.com