Ka anyị mee enyi RaspberryPi na TP-Link TL-WN727N

Ndewo, Habr!

Ekpebiri m ozugbo ijikọ utu m na ịntanetị n'ikuku.

N'oge na-adịghị anya ka emechara, maka ebumnuche a, azụrụ m eriri wi-fi usb site na ụlọ ọrụ TP-Link a ma ama na ụlọ ahịa kacha nso. M ga-ekwu ozugbo na nke a abụghị ụdị nano usb modul, kama ọ bụ nnukwu ngwaọrụ, dịka nha nke draịva flash mgbe niile (ma ọ bụ, ọ bụrụ na-amasị gị, nha mkpịsị aka nwoke toro eto). Tupu ịzụrụ, m mere ntakịrị nyocha na ndepụta nke ndị na-emepụta whistle akwadoro maka RPI na TP-Link nọ na listi ahụ (agbanyeghị, dị ka ọ mechara pụta, echereghị m echiche aghụghọ, n'ihi na ekwensu, dị ka anyị maara. , dị na nkọwa). Yabụ, akụkọ oyi nke ihe ọjọọ m na-amalite; anyị na-ewetara gị akụkọ nyocha n'akụkụ atọ. Maka ndị nwere mmasị, biko rụtụ aka na pusi.

Nkeji edemede Jikọọ WN727N WiFi nkwụnye na Ubuntu/Mint O nyeere m aka n'ụzọ ụfọdụ, mana ihe mbụ bu ụzọ.

Ọnọdụ nsogbu

Nyere:

  1. otu mbadamba kọmputa Raspberry Pi 2 B v1.1 - 1 ibe
  2. usb wi-fi whistle WN727N - 1 ibe
  3. otu ụzọ na-adịghị nnọọ gbagọrọ agbagọ - 2 iberibe
  4. Awụnyere Raspbian kacha ọhụrụ dị ka OS (dabere na Debian 10 Buster)
  5. Ụdị kernel 4.19.73-v7+

Chọta: jikọọ na ịntanetị (Wi-Fi na-ekesa site na rawụta ụlọ gị)

Mgbe m wuchara ihe nkwụnye ọkụ, agụọ m ntuziaka n'ime:

Ndakọrịta sistemụ: Windows 10/8/7 / XP (ọbụlagodi elu igwe, ọbụlagodi XP) na MacOS 10.9-10.13

Hmm, dị ka ọ dị na mbụ, ọ bụghị otu okwu gbasara Linux. Ọ bụ 2k19, na ndị ọkwọ ụgbọ ala ka chọrọ ka ejiri aka gbakọta ...

Anyị na anyị nwere 2 compilers, 75 puku ọba akwụkwọ, ise ọnụọgụ abụọ blobs, ọkara n'usoro nke ndị inyom gba ọtọ nwere logo na a dum oké osimiri nke nkụnye eji isi mee nke niile asụsụ na markups. Ọ bụghị na nke a bụ ntọala dị mkpa maka ọrụ ahụ. Ma ozugbo ịmalitere ịchịkọta usoro maka onwe gị, ọ ga-esi ike ịkwụsị. Naanị ihe kpatere m nchegbu bụ ndị ọkwọ ụgbọala maka wi-fi. Ọ nweghị ihe na-enweghị enyemaka, enweghị ọrụ na arụrụ arụ karịa iwulite ndị ọkwọ ụgbọ ala site na isi mmalite. Ma amaara m na n'oge na-adịghị anya, anyị ga-agbanye n'ihe mkpofu a.

N'ozuzu, dị ka ị maara, ịbanye na wi-fi usb na Linux bụ na-egbu mgbu ma dịtụ enweghị ụtọ (dị ka sushi Russian).

Igbe ahụ nwekwara CD nwere ndị ọkwọ ụgbọala. Enweghị olile anya m na-ele ihe dị na ya anya - ha elekọtabeghị ya. Nchọta ịntanetị mere ka m gaa na webụsaịtị onye nrụpụta, mana enwere onye ọkwọ ụgbọ ala Linux ebe ahụ naanị maka nlegharị anya ngwaọrụ v4, na ogwe aka m dị v5.21. Na mgbakwunye, maka ụdị kernel ochie 2.6-3.16. N'ịbụ ndị ọdịda dara na mbido mbụ, echere m na m kwesịrị iburu TL-WN727N (ọ dị ntakịrị ọnụ ma nwee ike ijikwa 300Mbps na 150 maka nke m, mana dịka ọ tụgharịrị, nke a adịghị mkpa ma ọlị. maka utu, nke a ga-ede banyere mgbe e mesịrị). Mana ihe kachasị mkpa bụ na ndị ọkwọ ụgbọ ala maka ya adịlarị ma etinyere ya dị ka ngwugwu firmware-ralink. Ị nwere ike na-elele nlebanya ngwaọrụ dị na ahụ ngwaọrụ na ihe mmado na-esote nọmba nsonazụ.

Ịga n'ihu na ịga n'ihu na ịga nzukọ dị iche iche ewetaghị ezigbo ihe. O doro anya na ọ nweghị onye n'ihu m nwara ijikọ ihe nkwụnye dị otú ahụ na Linux. Hmm, enwere m isioma ka onye mmiri riri.

Ọ bụ ezie na mba, m na-agha ụgha, ịga forums (nke ka ukwuu n'asụsụ Bekee) amịpụtakwara mkpụrụ; n'isiokwu ụfọdụ, ekwuru otu Mazi lwfinger, bụ onye a ma ama maka ide ọtụtụ ndị ọkwọ ụgbọala maka nkwụnye Wi-Fi. . Ebe nchekwa git ya dị na njedebe nke akụkọ dị na njikọ. Ihe ọmụmụ nke abụọ m mụtara bụ na ị ga-achọ ịchọpụta ngwaọrụ gị ka ị mara onye ọkwọ ụgbọ ala kwesịrị ekwesị maka ya.

Akụkụ 1: Njirimara Bourn

Mgbe etinyere ngwaọrụ ahụ n'ọdụ ụgbọ mmiri, n'ezie, ọ nweghị ọkụ ọkụ ọkụ. Na n'ozuzu, o doro anya n'ụzọ ọ bụla ma ihe ọ na-arụ ọrụ ma ọ bụ na ọ bụghị.

Nke mbụ, iji chọpụta ma kernel ọ na-ahụ ngwaọrụ anyị, a na m ele anya na 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

Ọ tụgharịrị na ọ na-ahụ, ma o doro anya na enwere mgbawa Realtek na VID/PID nke ngwaọrụ n'onwe ya na ụgbọ ala usb.

Ka anyị gaa n'ihu lee anya lsusb, ma ebe a ọdịda ọzọ na-echere anyị

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

Sistemu ahụ amaghị ụdị ngwaọrụ ọ bụ, ma jiri nwayọ gosipụta oghere efu kama aha ahụ (ọ bụ ezie na onye na-ere = 2357 bụ TP-Link).

N'oge a, onye na-agụ akwụkwọ na-agụ akwụkwọ nwere ike ịhụ ihe na-adọrọ mmasị, ma anyị ga-ahapụ ya ruo oge anyị.

Nnyocha nsogbu nke aha efu dugara m na saịtị nwere njirimara, ebe a na-abanye ozi na VID/PID amaara. 2357:0111 anyị anọghị. Dị ka ọ tụgharịrị mgbe e mesịrị, ịba uru lsusb na-eji faịlụ /usr/share/misc/usb.ids, nke bụ otu ndepụta ID sitere na saịtị a. Maka ịma mma nke ngosi ahụ, agbakwunyere m ahịrị maka TP-Link na-ere ahịa na sistemụ m.

2357  TP-Link
        0111  TL-WN727N v5.21

Ọfọn, anyị na-edozi ihe ngosi dị na ndepụta ngwaọrụ, ma ọ naghị ewetara anyị otu nzọụkwụ nso ịhọrọ onye ọkwọ ụgbọ ala. Iji họrọ onye ọkwọ ụgbọ ala, ị ga-achọ ịma ihe mgbawa a na-eme fụrụ gị. Mgbalị ndị ọzọ na-emeghị nke ọma iji chọpụta nke a na Ịntanetị emeghị ka ọ dị mma. N'ịbụ onye ejiri screwdriver nwere oghere dị obere, ejiri m nlezianya wepụ okpu nkwụnye ahụ wee nwa ụbụrụ nwanne nna Liao ọjọọ pụtara n'ọtọ ya niile. N'okpuru iko na-ebuli elu ị nwere ike ịhụ aha mgbawa - RTL8188EUS. Nke a adịlarị mma. N'ụfọdụ nnọkọ, ahụrụ m akwụkwọ ozi na onye ọkwọ ụgbọ ala si n'otu nwa amadi ahụ lwfinger dabara nke ọma maka mgbawa a (n'agbanyeghị na ọ na-ede naanị maka RTL8188EU).

Nkebi 2: Ọchịchị Bourne

Ana m ebudata isi mmalite ọkwọ ụgbọ ala site na Git.

Oge erugo ịwụnye Windows wee mee ihe ndị ọrụ Linux na-ejikọkarị ya - na-achịkọta ihe site na ụdị ụfọdụ. Ịchịkọta ndị ọkwọ ụgbọala, dịka ọ siri pụta, dị iche na nchịkọta mmemme:

make
sudo make install

mana iji chịkọta modul kernel anyị chọrọ faịlụ nkụnye kernel maka ụdị anyị akọwapụtara.

Enwere ngwugwu na ebe nchekwa ngwaahịa raspberrypi-kernel-headers, mana ọ nwere ụdị kernel nke faịlụ 4.19.66-v7l+, na nke ahụ adabaghị anyị. Ma iji nweta nkụnye eji isi mee nke ụdị achọrọ, dị ka ọ tụgharịrị, enwere ngwá ọrụ dị mma rpi-isi iyi (njikọ na njedebe na Github), nke ị nwere ike ibudata nkụnye eji isi mee dị mkpa. Anyị na-emechi ebe nchekwa ahụ, na-eme ka ederede ahụ rụọ ọrụ, ma mee ya. Mwepụta mbụ daa na njehie - enweghị uru bc. Ọ dabara nke ọma, ọ dị na ebe nchekwa ma anyị wụnye ya.

sudo apt-get install bc

Mgbe nke a gasịrị, ịmalitegharị na nbudata nkụnye eji isi mee (ma na-edozi ihe, anaghị m echeta ugbu a) na-ewe oge ma ị nwere ike ịnọdụ ala n'oche gị, Windows aghọwo ihe dị mma na ngosipụta ya niile.

Mgbe ebudatara nkụnye eji isi mee, lelee na ndekọ ahụ pụtara /lib/modul/4.19.73-v7+ na n'ime ya symlink na-atụ aka na ebe faịlụ ebudatara dị (maka m ọ bụ /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

Emechaala ogbo nkwadebe, ị nwere ike ịmalite mgbakọ. Ịchịkọta modul ọzọ na-ewe oge, Raspberry abụghị anụ ọhịa ngwa ngwa (o nwere 32bit 900Mhz Cortex ARM v7).
Ya mere, achịkọtara ihe niile. Anyị na-etinye onye ọkwọ ụgbọ ala na nzọụkwụ nke abụọ (mee wụnye), ebe ị na-edegharị faịlụ ndị ọzọ dị mkpa maka onye ọkwọ ụgbọ ala ka ọ rụọ ọrụ:

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

Nkebi 3. Bourne Ultimatum

M na-agbanye mkpọrọgwụ n'ọdụ ụgbọ mmiri na ... ọ dịghị ihe na-eme. Ọ bụ n'efu?

M na-amalite ịmụ faịlụ n'ime ọrụ ahụ na n'ime otu n'ime ha ka m na-ahụ ihe nsogbu ahụ bụ: onye ọkwọ ụgbọ ala na-akọwapụta ndepụta zuru ezu nke njirimara VID / PID na ọ nwere ike ije ozi. Na ka ngwaọrụ anyị rụọ ọrụ na onye ọkwọ ụgbọ ala a, etinyere m id m na faịlụ ahụ 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 */
};

M chịkọtara onye ọkwọ ụgbọ ala ma tinyegharịa ya na sistemụ.

Na oge a ihe niile malitere. Ìhè dị na nkwụnye ọkụ na-enwu na ngwaọrụ ọhụrụ pụtara na ndepụta nke netwọk netwọk.

Ikiri ikuku ikuku na-egosi ihe ndị a:

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 maka ndị na-agụ ruo ọgwụgwụ

Cheta otu m siri kwuo na ọ baghị uru ụdị ọsọ a na-ekwu na nkwụnye gị?
Ya mere, na Malinka (tupu ntọhapụ nke ụdị 4), ngwaọrụ niile (gụnyere ihe nkwụnye ethernet) na-anọdụ n'otu ụgbọ ala usb. Ọ dị mma, nri? Ya mere, bandwidth nke ụgbọ ala usb na-ekewa n'etiti ngwaọrụ niile dị na ya. Mgbe ị na-atụle ọsọ ma site na ethernet na site na usb wi-fi (jikọrọ na 1 rawụta) ma site ikuku na waya, ọ bụ gburugburu 20Mbit/s.

PS N'ozuzu, ntuziaka a maka ịchịkọta onye ọkwọ ụgbọ ala maka nkwụnye ọkụ a bara uru ọ bụghị naanị maka RPI. M wee kwughachi ya na desktọpụ m na Linux Mint - ihe niile na-arụkwa ọrụ ebe ahụ. Naanị ị ga-ebudata faịlụ nkụnye eji isi mee maka ụdị kernel gị n'otu ụzọ ahụ.

UPD. Ndị maara ihe tụrụ aro: ka ị ghara ịdabere na ụdị kernel, ịkwesịrị ịnakọta ma wụnye ndị ọkwọ ụgbọala site na iji dkms. Readme maka onye ọkwọ ụgbọ ala nwekwara nhọrọ a.

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. Atụmatụ kwachie n'ihi na anabatara id ngwaọrụ n'ime isi ngalaba nke ebe nchekwa lwfinger/rtl8188eu.

zoro
- RPi USB Wi-Fi nkwụnye
- Gitbub lwfinger/rtl8188eu
- usb.ids
- rpi-isi iyi

isi: www.habr.com