Hi Habr!
Cho-dhÚin mi aon uair mo shÚbhan-craoibhe a cheangal ris an eadar-lÏn thairis air an èadhar.
Cha bu luaithe a chaidh a rĂ dh na chaidh a dhèanamh, airson an adhbhar seo cheannaich mi fĂŹdeag usb wi-fi bhon chompanaidh ainmeil TP-Link bhon stòr as fhaisge. Canaidh mi sa bhad nach e seòrsa de mhodal nano usb a tha seo, ach inneal gu math mòr, mu mheud draibheadh ââââflash cunbhalach (no, ma thogras tu, meud meur-chlĂ r fireannaich inbheach). Mus do cheannaich mi, rinn mi beagan rannsachaidh air an liosta de luchd-saothrachaidh fĂŹdeag le taic airson RPI agus bha TP-Link air an liosta (ge-tĂ , mar a thĂ inig e a-mach nas fhaide air adhart, cha tug mi aire do na subtleties, oir bha an diabhal, mar a tha fios againn. , anns aâ mhion-fhiosrachadh). Mar sin, tha an sgeulachd fhuar mu na h-eucoirean agam aâ tòiseachadh; bidh sinn aâ toirt dhut sgeulachd lorg-phoileas ann an 3 pĂ irtean. Dhaibhsan aig a bheil Ăšidh, thoir sĂšil air cat.
Artaigil Chuidich e mi gu ĂŹre, ach aâ chiad rudan an-toiseach.
CĂšmhnantan na trioblaid
Leis:
- coimpiutair bòrd singilte Raspberry Pi 2 B v1.1 - 1 pÏos
- fĂŹdeag usb wi-fi WN727N - 1 pĂŹos
- paidhir de lĂ mhan nach eil gu tur cam - 2 phĂŹos
- Tha an Raspbian as Úire air a chuir a-steach mar an OS (stèidhichte air Debian 10 Buster)
- dreach kernel 4.19.73-v7+
Lorg: ceangail ris an eadar-lĂŹn (tha Wi-Fi air a chuairteachadh bhon router dachaigh agad)
Ăs deidh dhomh an inneal-atharrachaidh a dhĂŹ-phapadh, leugh mi an stiĂšireadh a-staigh:
Co-fhreagarrachd an t-siostaim: Windows 10/8/7/XP (eadhon na speuran, eadhon XP) agus MacOS 10.9-10.13
Hmm, mar as Ă bhaist, chan e facal mu Linux. B' e 2k19 a bh' ann, agus dh'fheumadh na draibhearan fhathast a bhith air an cruinneachadh le lĂ imh ...
Bha 2 neach-cruinneachaidh againn, 75 mĂŹle leabharlann, còig bloban dĂ -chĂ nanach, leth sreath de bhoireannaich rĂšisgte le suaicheantas agus muir slĂ n de chinn-cinn de gach cĂ nan agus comharradh. Chan e gur e seata riatanach a tha seo airson na h-obrach. Ach aon uair âs gun tòisich thu aâ cruinneachadh siostam dhut fhèin, bidh e duilich stad. Is e an aon rud a chuir dragh orm na draibhearan airson wi-fi. Chan eil dad nas neo-chomasach, neo-chĂšramach agus coirbte na bhith aâ togail dhraibhearan bhon tĂšs. Ach bha fios agam gum biodh sinn luath no mall aâ tionndadh chun sgudal seo.
San fharsaingeachd, mar a tha fios agad, tha fĂŹdhlearachd le usb wi-fi air Linux pianail agus beagan gun blas (mar sushi Ruiseanach).
Tha CD le draibhearan anns aâ bhogsa cuideachd. Gun mòran dòchais gun toir mi sĂšil air na tha air - gu cinnteach cha do ghabh iad cĂšram dheth. Thug sgrĂšdadh eadar-lĂŹn mi gu lĂ rach-lĂŹn an neach-dèanamh, ach tha draibhear Linux ann dĂŹreach airson ath-sgrĂšdadh inneal v4, agus a'm' uchd bha v5.21. Agus a bharrachd air an sin, airson dreachan kernel fĂŹor sheann 2.6-3.16. Air mo mhisneachadh leis an fhĂ iligeadh aig an fhĂŹor thoiseach, shaoil ââââmi mu thrĂ th gum bu chòir dhomh a bhith air an TL-WN727N a ghabhail (tha e beagan nas daoire agus is urrainn dhomh 300Mbps an aghaidh 150 a lĂ imhseachadh dhòmhsa, ach mar a thionndaidh e a-mach, chan eil seo gu diofar. airson an sĂšbh-craoibhe, thèid seo a sgrĂŹobhadh mu dheidhinn nas fhaide air adhart). Ach is e an rud as cudromaiche gu bheil draibhearan air a shon ann mu thrĂ th agus gu bheil iad dĂŹreach air an stĂ ladh mar phacaid firmware-ralink. Mar as trice chĂŹ thu ath-sgrĂšdadh an uidheim air corp an inneil air stiogair ri taobh an Ă ireamh sreathach.
Cha tug tuilleadh googling agus tadhal air diofar fhòraman mòran math. A rèir choltais chan eil duine romham air feuchainn ri inneal-atharrachaidh mar sin a cheangal ri Linux. Hmm, tha mi cho fortanach ri duine a chaidh a bhà thadh.
Ged, chan e, tha mi nam laighe, thug tadhal air fòraman (an fheadhainn Beurla sa mhòr-chuid) toradh cuideachd; ann an cuid de chuspairean chaidh iomradh a thoirt air Mgr lwfinger sònraichte, a tha ainmeil airson a bhith aâ sgrĂŹobhadh grunn dhrĂ ibhearan airson innealan-atharrachaidh Wi-Fi . Tha an stòr git aige aig deireadh an artaigil anns na ceanglaichean. Agus is e an dĂ rna leasan a dhâ ionnsaich mi gum feum thu an inneal agad a chomharrachadh gus tuigsinn dè an draibhear a dhâ fhaodadh a bhith freagarrach air a shon.
PĂ irt 1: Dearbh-aithne Bourne
Nuair a chaidh an inneal a chuir a-steach don phort, gu dearbh, cha do lasadh LED sam bith. Agus san fharsaingeachd chan eil e soilleir ann an dòigh sam bith a bheil rudeigin ag obair no nach eil.
An toiseach, gus faighinn a-mach a bheil an kernel a âfaicinn an inneal againn, bidh mi aâ coimhead ann an 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
Thionndaidh e a-mach gu bheil e a âfaicinn, agus tha e eadhon soilleir gu bheil chip Realtek agus VID / PID den inneal fhèin air aâ bhus usb.
Rachamaid nas fhaide agus coimhead lsusb, agus an seo tha fĂ iligeadh eile aâ feitheamh oirnn
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
Chan eil fios aig an t-siostam dè an seòrsa inneal a thâ ann, agus tha e gu tur aâ sealltainn Ă ite falamh an Ă ite an ainm (ged a tha reiceadair = 2357 gu cinnteach na TP-Link).
Aig an Ïre seo, is dòcha gu bheil an leughadair fiosrachail air rudeigin inntinneach fhaicinn mu thrà th, ach fà gaidh sinn e gus an à m againn.
Thug rannsachadh air duilgheadas ainmean falamh mi gu lĂ rach le aithnichearan, far a bheil fiosrachadh air VID/PID aithnichte air a chur a-steach. Cha robh an 2357:0111 againn ann. Mar a thionndaidh e a-mach nas fhaide air adhart, an goireas lsusb aâ cleachdadh faidhle /usr/share/misc/usb.ids, a tha san aon liosta de IDan bhon lĂ rach seo. Airson bòidhchead an taisbeanaidh, chuir mi dĂŹreach loidhnichean ris airson an neach-reic TP-Link anns an t-siostam agam.
2357 TP-Link
0111 TL-WN727N v5.21
Uill, cheartaich sinn an taisbeanadh anns an liosta innealan, ach cha tug e sinn aon cheum nas fhaisge air a bhith aâ taghadh draibhear. Gus drĂ ibhear a thaghadh, feumaidh fios a bhith agad air dè an sgiob a tha do fhĂŹdeag air a dhèanamh. Cha do lean na h-ath oidhirpean neo-shoirbheachail gus seo a lorg air an eadar-lĂŹn gu dad math. Armaichte le screwdriver slotted tana, bidh mi gu faiceallach aâ toirt dheth aâ chaip adapter agus tha beachd borb Uncle Liao aâ nochdadh anns a h-uile lomnochd phrĂŹseil. Fo ghlainne-meudachaidh chĂŹ thu ainm aâ chip - RTL8188EUS. Tha seo math mu thrĂ th. Air cuid de fhòraman chunnaic mi puist gu bheil an draibhear bhon aon duine-uasal lwfinger sin gu math freagarrach airson a âchip seo (ged nach eil e aâ sgrĂŹobhadh ach mu RTL8188EU).
PĂ irt 2: The Bourne Supremacy
Bidh mi aâ luchdachadh sĂŹos stòran an draibhear bho Git.
Tha an t-Ă m ann Windows ath-shuidheachadh agus dèan na tha luchd-cleachdaidh Linux mar as trice co-cheangailte riutha - aâ cruinneachadh rudeigin de sheòrsa air choreigin. Chan eil cruinneachadh dhrĂ ibhearan, mar a thionndaidh e, glè bheag bho bhith aâ cur ri chèile phrògraman:
make
sudo make install
ach airson modalan kernel a chuir ri chèile feumaidh sinn na faidhlichean cinn kernel airson an dreach sònraichte againn.
Tha pasgan anns an stòr stoc cinn-cinn raspberrypi-kernel, ach tha an tionndadh kernel de na faidhlichean ann 4.19.66-v7l+, agus chan eil sin freagarrach dhuinn. Ach gus cinn-cinn an dreach a tha a dhĂŹth fhaighinn, mar a thĂ inig e a-mach, tha inneal goireasach ann rpi-stòr (ceangal aig an deireadh air Github), leis an urrainn dhut na cinn-cinn riatanach a luchdachadh sĂŹos. Bidh sinn aâ clonadh an stòr, aâ dèanamh an sgriobt so-ghnĂŹomhaichte, agus ga ruith. Bidh aâ chiad fhoillseachadh aâ fĂ iligeadh le mearachd - chan eil goireas ann bc. Gu fortanach, tha e san stòr agus tha sinn dĂŹreach ga stĂ ladh.
sudo apt-get install bc
Ăs deidh seo, bheir ath-thòiseachadh agus luchdachadh sĂŹos na cinn-cinn (agus an uairsin rudeigin a chuir air dòigh, chan eil cuimhne agam a-nis) beagan Ăšine agus faodaidh tu suidhe air ais sa chathair agad, tha Windows air fĂ s nas fheĂ rr anns a h-uile taisbeanadh.
Ăs deidh a h-uile bann-cinn a luchdachadh sĂŹos, dèan cinnteach gu bheil an eòlaire aâ nochdadh /lib/modules/4.19.73-v7+ agus innte tha an symlink aâ comharrachadh an Ă ite far a bheil na faidhlichean a chaidh a luchdachadh sĂŹos (dhòmhsa is e / home/pi/linux a thâ ann):
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
Tha an ĂŹre ullachaidh air a chrĂŹochnachadh, faodaidh tu tòiseachadh air co-chruinneachadh. Bheir a bhith aâ cruinneachadh nam modalan a-rithist beagan Ăšine, chan e beathach luath a thâ anns an sĂšbh-craoibhe (tha 32bit 900Mhz Cortex ARM v7 aige).
Mar sin chaidh a h-uile cà il a chuir ri chèile. Bidh sinn a 'stà ladh an drà ibhear san dà rna ceum (dèan stà ladh), agus sinn a' dèanamh lethbhreac de na faidhlichean firmware a tha riatanach airson an drà ibhear a bhith ag obair:
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/.
PĂ irt 3. The Bourne Ultimatum
Bidh mi a' cur an fhĂŹdeag dhan phort agus... chan eil dad a' tachairt. An robh e uile airson dad?
Bidh mi a 'tòiseachadh a' sgrÚdadh nam faidhlichean taobh a-staigh a 'phròiseict agus ann am fear dhiubh tha mi a' faighinn a-mach dè an duilgheadas a bh 'ann: tha an drà ibhear a' sònrachadh liosta iomlan de dh'aithnichearan VID/PID as urrainn dha a fhrithealadh. Agus gus am bi an inneal againn ag obair leis an draibhear seo, chuir mi dÏreach an id agam ris an fhaidhle 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 */
};
Rinn mi ath-chruinneachadh air an drĂ ibhear agus chuir mi a-rithist e air an t-siostam.
Agus an turas seo thòisich a h-uile cà il. Chaidh an solas air an inneal-atharrachaidh a lasadh suas agus nochd inneal Úr anns an liosta de eadar-aghaidh lÏonra.
Tha coimhead air eadar-aghaidh gun uèir aâ sealltainn na leanas:
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 dhaibhsan a leugh gu deireadh
Cuimhnich mar a thuirt mi nach eil e gu diofar dè an astar as à irde a tha air a rà dh air an inneal-atharrachaidh agad?
Mar sin, air Malinka (mus tèid modal 4 a leigeil ma sgaoil), bidh a h-uile inneal (a âtoirt a-steach an adapter ethernet) nan suidhe air an aon bhus usb. Sgoinneil, ceart? Agus mar sin tha leud-bann aâ bhus usb air a roinn eadar a h-uile inneal air. Nuair a chaidh an astar a thomhas an dĂ chuid tro ethernet agus tro usb wi-fi (ceangailte ri 1 router) an dĂ chuid le èadhar agus le uèir, bha e timcheall air 20Mbit/s.
PS San fharsaingeachd, tha an stiĂšireadh seo airson drĂ ibhear a chuir ri chèile airson an inneal-atharrachaidh sònraichte seo dligheach chan ann a-mhĂ in airson RPI. Rinn mi a-rithist e air an deasg agam le Linux Mint - dhâ obraich a h-uile dad an sin cuideachd. Feumaidh tu dĂŹreach na faidhlichean cinn riatanach a luchdachadh sĂŹos airson an dreach kernel agad san aon dòigh.
UPD. Mhol daoine eòlach: gus nach bi iad an urra ris an dreach kernel, feumaidh tu draibhearan a chruinneachadh agus a stĂ ladh a âcleachdadh dkms. Tha an roghainn seo cuideachd anns an readme airson an draibhear.
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. Air a mholadh airson inneal id chaidh gabhail a-steach don mheur prÏomh-shruthach den stòr lwfinger/rtl8188eu.
iomraidhean
-
-
-
-
Source: www.habr.com
