Tiyeni tipange abwenzi RaspberryPi ndi TP-Link TL-WN727N

Pa Habr!

Nthawi ina ndinaganiza zolumikiza rasipiberi wanga pa intaneti pamlengalenga.

Posakhalitsa, pachifukwa ichi ndinagula muluzi wa usb wi-fi kuchokera ku kampani yodziwika bwino ya TP-Link kuchokera ku sitolo yapafupi. Ndidzanena nthawi yomweyo kuti iyi si mtundu wina wa nano usb module, koma ndi chipangizo chachikulu, chofanana ndi kukula kwa flash drive (kapena, ngati mukufuna, kukula kwa chala cha munthu wamkulu). Ndisanagule, ndidachita kafukufuku pang'ono pamndandanda wa omwe amapereka mluzu wa RPI ndi TP-Link pamndandanda (komabe, monga zidawonekera pambuyo pake, sindinaganizire zobisika, chifukwa mdierekezi, monga tikudziwira. , zili mwatsatanetsatane). Chifukwa chake, nthano yozizira yazovuta zanga imayamba; tikukupatsirani nkhani yofufuza m'magawo atatu. Kwa omwe ali ndi chidwi, chonde onani mphaka.

Nkhani Kulumikiza adaputala ya WN727N WiFi ku Ubuntu/Mint Zinandithandiza pang'ono, koma choyamba.

Mkhalidwe wavuto

Kupatsidwa:

  1. kompyuta imodzi ya board Raspberry Pi 2 B v1.1 - 1 chidutswa
  2. usb wi-fi mluzu WN727N - 1 chidutswa
  3. manja awiri osakhota - 2 zidutswa
  4. Raspbian yaposachedwa imayikidwa ngati OS (kutengera Debian 10 Buster)
  5. mtundu wa kernel 4.19.73-v7+

Pezani: lumikizani pa intaneti (Wi-Fi imagawidwa kuchokera ku rauta yakunyumba)

Nditamasula adaputala, ndinawerenga malangizo mkati:

Kugwirizana Kwadongosolo: Windows 10/8/7/XP (ngakhale kumwamba, ngakhale XP) ndi MacOS 10.9-10.13

Hmm, mwachizolowezi, palibe mawu okhudza Linux. Inali 2k19, ndipo madalaivala ankafunikabe kuti asonkhanitsidwe pamanja ...

Tinali ndi ife ophatikiza 2, malaibulale 75, mabulogu asanu a binary, theka la azimayi amaliseche omwe ali ndi logo komanso mitu yambiri ya zilankhulo zonse ndi zolemba. Osati kuti iyi ndi seti yofunikira pantchitoyo. Koma mukangoyamba kudzipangira nokha dongosolo, zimakhala zovuta kuyimitsa. Chokhacho chomwe chidandidetsa nkhawa chinali madalaivala a wi-fi. Palibe chinthu chopanda chithandizo, chosasamala komanso chachinyengo kuposa kumanga madalaivala kuchokera kugwero. Koma ndinadziΕ΅a kuti posapita nthaΕ΅i tidzasintha zinyalala zimenezi.

Mwambiri, monga mukudziwa, kusewera ndi usb wi-fi pa Linux ndiko zowawa komanso zosakoma (monga Russian sushi).

Bokosilo lilinso ndi CD yokhala ndi madalaivala. Popanda chiyembekezo chochuluka ndimayang'ana zomwe zili pamenepo - ndithudi sanazisamalire. Kusaka pa intaneti kunandibweretsa patsamba la wopanga, koma pali woyendetsa wa Linux pamenepo kuti angowunikiranso chipangizocho v4, ndipo m'manja mwanga munali v5.21. Kupatula apo, pamitundu yakale kwambiri ya kernel 2.6-3.16. Kukhumudwa ndi kulephera koyambirira, ndinaganiza kale kuti ndiyenera kutenga TL-WN727N (ndi yokwera mtengo kwambiri ndipo imatha kupirira 300Mbps motsutsana ndi 150 yanga, koma monga momwe zinakhalira, izi ziribe kanthu. kwa rasipiberi, izi zidzalembedwa pambuyo pake). Koma chofunika kwambiri ndi chakuti madalaivala ake alipo kale ndipo amangoikidwa ngati phukusi firmware-ralink. Nthawi zambiri mutha kuwona kukonzanso kwa chipangizocho pachomata pafupi ndi nambala ya serial.

Kupitanso patsogolo ndi kuyendera mabwalo osiyanasiyana sikunabweretse zabwino zambiri. Zikuwoneka kuti palibe amene adayesapo kulumikiza adaputala yotere ku Linux. Hmm, ndili ndi mwayi ngati munthu womira.

Ngakhale, ayi, ndikunama, kuchezera mabwalo (makamaka achingerezi) kunabalanso zipatso; m'mitu ina munali kutchulidwa za Bambo lwfinger, yemwe amadziwika bwino polemba madalaivala angapo a ma adapter a Wi-Fi. . Malo ake a git ali kumapeto kwa nkhani mu maulalo. Ndipo phunziro lachiwiri lomwe ndidaphunzira ndikuti muyenera kuzindikira chipangizo chanu kuti mumvetsetse dalaivala yemwe angakhale woyenera.

Gawo 1: The Bourne Identity

Pamene chipangizocho chinalumikizidwa padoko, ndithudi, palibe LED yowunikira. Ndipo kawirikawiri sizidziwika mwanjira iliyonse ngati chinachake chikugwira ntchito kapena ayi.

Choyamba, kuti ndidziwe ngati kernel ikuwona chipangizo chathu, ndimayang'ana mu 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

Zinapezeka kuti zikuwona, ndipo zikuwonekeratu kuti pali chipangizo cha Realtek ndi VID / PID ya chipangizocho pa basi ya usb.

Tiyeni tipitirire ndikuyang'ana lsusb, ndipo apa tikuyembekezera kulephera kwina

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

Dongosolo silikudziwa kuti ndi chida chanji, ndipo mwamanyazi amawonetsa malo opanda kanthu m'malo mwa dzina (ngakhale wogulitsa = 2357 ndi TP-Link).

Panthawiyi, wowerenga wofunsayo mwina adawona kale chinthu chosangalatsa, koma tidzachisiya mpaka nthawi yathu.

Kufufuza vuto la mayina opanda kanthu kunanditsogolera kumalo omwe ali ndi zizindikiro, kumene chidziwitso chodziwika bwino cha VID / PID chimalowetsedwa. Yathu 2357:0111 panalibe. Monga momwe zinakhalira pambuyo pake, zothandiza lsusb amagwiritsa ntchito fayilo /usr/share/misc/usb.ids, womwe ndi mndandanda womwewo wa ma ID ochokera patsamba lino. Pakukongola kwa chiwonetserochi, ndidangowonjezera mizere ya ogulitsa TP-Link mudongosolo langa.

2357  TP-Link
        0111  TL-WN727N v5.21

Chabwino, tinakonza zowonetsera mu mndandanda wa zipangizo, koma sizinatibweretsere sitepe imodzi pafupi ndi kusankha dalaivala. Kuti musankhe dalaivala, muyenera kudziwa chip chomwe muluzi wanu amapangidwira. Kuyesera kotsatira kosatheka kupeza izi pa intaneti sikunabweretse zabwino. Ndili ndi screwdriver yopyapyala, ndimachotsa kapu ya adaputala mosamalitsa ndipo malingaliro oyipa a Amalume Liao amawonekera maliseche ake onse. Pansi pa galasi lokulitsa mumatha kuwona dzina la chip - Mtengo wa RTL8188EUS. Izi ndizabwino kale. Pamabwalo ena ndidawona zolemba zomwe dalaivala wochokera kwa njonda lwfinger yemweyo ali woyenerera chip ichi (ngakhale amangolemba za RTL8188EU).

Gawo 2: The Bourne Supremacy

Ndimatsitsa magwero oyendetsa kuchokera ku Git.

Yakwana nthawi yoti mukhazikitsenso Windows ndikuchita zomwe ogwiritsa ntchito a Linux nthawi zambiri amalumikizidwa nazo - kusonkhanitsa china chake kuchokera kumitundu ina. Kusonkhanitsa madalaivala, monga momwe zimakhalira, kumasiyana pang'ono ndi kupanga mapulogalamu:

make
sudo make install

koma kuti mupange ma module a kernel timafunikira mafayilo amutu amtundu wathu.

Pali phukusi munkhokwe raspberrypi-kernel-mutu, koma ili ndi mtundu wa kernel wa mafayilo 4.19.66-v7l+, ndipo zimenezo sizikutikomera. Koma kuti mupeze mitu yamtundu wofunikira, monga momwe zidakhalira, pali chida chothandiza rpi-gwero (ulalo kumapeto kwa Github), womwe mutha kutsitsa nawo mitu yofunikira. Timagwirizanitsa chosungira, kupanga script kuti ikwaniritsidwe, ndikuyendetsa. Kuyambitsa koyamba kumalephera ndi cholakwika - palibe zothandiza bc. Mwamwayi, ili m'malo osungirako ndipo timangoyiyika.

sudo apt-get install bc

Pambuyo pake, kuyambiranso ndikutsitsa mitu (ndikukhazikitsa china chake, sindikukumbukira tsopano) kumatenga nthawi ndipo mutha kukhalanso pampando wanu, Windows yakhala yabwinoko pamawonekedwe ake onse.

Mitu yonse ikatsitsidwa, onetsetsani kuti bukhuli likuwonekera /lib/modules/4.19.73-v7+ ndipo m'menemo ma symlink amalozera komwe mafayilo otsitsidwa ali (kwa ine ndi /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

Gawo lokonzekera latha, mutha kuyamba msonkhano. Kusonkhanitsa ma modules kumatenganso nthawi, Rasipiberi si chilombo chothamanga (ili ndi 32bit 900Mhz Cortex ARM v7).
Kenako zonse zidapangidwa. Timayika dalaivala mu gawo lachiwiri (pangani kukhazikitsa), ndikukopera mafayilo amtundu wa firmware ofunikira kuti dalaivala agwire ntchito:

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

Gawo 3. The Bourne Ultimatum

Ndimalumikiza mluzu padoko ndipo ... palibe chomwe chimachitika. Kodi zonsezo zinali pachabe?

Ndikuyamba kuphunzira mafayilo mkati mwa polojekitiyi ndipo mu imodzi mwa izo ndikupeza vuto linali: dalaivala amatchula mndandanda wathunthu wa zizindikiro za VID / PID zomwe zingagwiritsidwe ntchito. Ndipo kuti chipangizo chathu chigwire ntchito ndi dalaivala uyu, ndinangowonjezera id yanga pafayilo 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 */
};

Ndinapanganso driver ndikuyiyikanso pa system.

Ndipo nthawi ino zonse zinayamba. Kuwala kwa adaputala kunayatsa ndipo chida chatsopano chidawonekera pamndandanda wamalo olumikizirana netiweki.

Kuwona mawonekedwe opanda zingwe kukuwonetsa izi:

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

Bonasi kwa omwe amawerenga mpaka kumapeto

Kumbukirani momwe ndidanenera kuti zilibe kanthu kuti ndi liwiro lanji lomwe limanenedwa pa adaputala yanu?
Kotero, pa Malinka (asanatulutse chitsanzo 4), zipangizo zonse (kuphatikizapo adaputala ya ethernet) zimakhala pa basi imodzi ya usb. Chabwino, chabwino? Ndipo chifukwa chake bandwidth ya basi ya usb imagawidwa pakati pa zida zonse pa izo. Poyezera liwiro kudzera pa ethernet komanso kudzera pa usb wi-fi (yolumikizidwa ndi rauta imodzi) zonse ndi mpweya ndi waya, inali mozungulira 1Mbit/s.

PS Nthawi zambiri, bukhuli lophatikizira dalaivala wa adaputala iyi silovomerezeka pa RPI yokha. Kenako ndidabwerezanso pa desktop yanga ndi Linux Mint - zonse zidagwiranso ntchito pamenepo. Mukungoyenera kutsitsa mafayilo ofunikira amutu pamtundu wanu wa kernel chimodzimodzi.

UPD. Anthu odziwa bwino adati: kuti musadalire mtundu wa kernel, muyenera kusonkhanitsa ndikuyika madalaivala pogwiritsa ntchito dkms. The readme kwa dalaivala ilinso ndi izi.

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. Zaperekedwa chigamba ya id ya chipangizo idalandiridwa munthambi yodziwika bwino ya lwfinger/rtl8188eu repository.

powatsimikizira
- RPi USB Wi-Fi Adapter
- Gitbub lwfinger/rtl8188eu
- usb.ids
- rpi-gwero

Source: www.habr.com