Iindlela ezi-5 zokunqamula kwaye uqhagamshele isixhobo se-USB ngaphandle kokuthatha izandla zakho kwikhibhodi

Ngamaxesha amaninzi, xa sisebenzisa ikhompyuter yethu siqhawula isixhobo se-USB (ngokukhuselekileyo, njengoko kufanelekile) kwaye, kwangoko emva koko, siyaqonda ukuba silibale ukukopa ifayile okanye kwafuneka siqinisekise ukuba idatha ikwindawo yethu. iyunithi. Kwezi meko kudla ngokuba luncedo kakhulu ukukhupha iidiski ze-USB xa sisebenza ukude.

Emva kokusikhupha isixhobo, asisaboni kuluhlu lwethu lwezixhobo, kodwa i-hard drive okanye i-pendrive isaqhagamshelwe kwizibuko le-USB, kwaye kwiindawo ezininzi zokusasazwa namhlanje, siyikhuphile ngokukhuselekileyo iyunithi, nathi asisiboni isixhobo kwaye Asinakuyenza Ukunyuka ukusuka kwi-terminal yethu. Isisombululo esona sikhawulezayo kukuqhawula intambo kwaye uyixhume kwakhona, kwezinye iimeko, nokuba kungenxa yobuvila okanye kufuneka uphakame okanye ngenxa yokuba sifikelela kwizixhobo ezingekho phambi kwethu kwaye akukho mntu usondeleyo, asinakuyenza.

Ulwazi malunga nezixhobo ze-USB

Ngaphambi kokuba siqale, makhe sibone indlela yokufumana ulwazi malunga nezixhobo ze-USB eziqhagamshelwe kwinkqubo. Kule nto, sinokusebenzisa lsusb, eya kudwelisa izixhobo eziqhagamshelwe ngoku. Ndinika imizekelo yento endiyifumanayo kwikhompyuter yam ngoku, kodwa inokwahluka kakhulu kwinto oyifumanayo:

$ lsusb Bus 002 Isixhobo 001: ID 1d6b:0003 Linux Foundation 3.0 ingcambu hub Bus 001 Isixhobo 006: ID 8087:0a2a Intel Corp. Ibhasi 001 Isixhobo 007: ID 046d:c52b Logitech001 005 I-ID ye-Bus 1 I-ID ye-Bus 40 I-ID ye-Bus 0101 I-ID ye-Bus 001 i-Un. : 010 Terminus Technology Inc. Hub Bus 125 Isixhobo 93: ID 4f:c001a A-DATA Technology Co., Ltd. 003GB Pen Drive Bus 04 Isixhobo 2: ID 424f001:b001 Chicony Electronics Co., Ltd Ibhasi 1b Isixhobo se-ID6 :0002 Linux Foundation 2.0 hub ingcambu

Ukuba sifuna ulwazi oluthe kratya, sinokusebenzisa i -t switch eya kusibonisa imveliso efana nomthi ngolwazi malunga neemodyuli:

$ lsusb -t /: Ibhasi 02.Izibuko 1: Dev 1, Iklasi=root_hub, Driver=xhci_hcd/8p, 5000M /: Ibhasi 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p___480M Port 4: Dev 3, Ukuba 0, Class=Video, Driver=uvcvideo, 480M |__ Port 4: Dev 3, Ukuba 1, Class=Video, Driver=uvcvideo, 480M |__ Port 5: Dev 10, Ukuba 0, Udidi =Ugcino lweSininzi, Umqhubi=usb-ukugcinwa, 480M |__ Izibuko 6: Dev 5, Ukuba 0, Udidi=Hub, Umqhubi=hub/4p, 12M |__ Port 4: Dev 7, Ukuba 0, Udidi=IsiXhobo soMsebenzi woMntu, Umqhubi=usbhid, 12M |__ Izibuko 4: I-Dev 7, Ukuba 1, Udidi=Isixhobo soNxibelelwano loMntu, Driver=usbhid, 12M |__ Port 4: Dev 7, Ukuba 2, Udidi=Isixhobo soNxibelelwano loMntu, uMqhubi=usbhid, 12M | __ Port 9: Dev 6, Ukuba 0, Udidi=Okungenangcingo, Umqhubi=btusb, 12M |__ Port 9: Dev 6, Ukuba 1, Class=Wireless, Driver=btusb, 12M

Ukuba sifuna ulwazi oluninzi, sinokulusebenzisa lsusb -v (imveliso inkulu kakhulu), singakwazi kwakhona, umzekelo, ukwazi amandla aphezulu anikezelwe kwisixhobo, ngale ndlela ilandelayo:

$ lsusb -v 2>/dev/null |egrep "^Bus|MaxPower" Ibhasi 002 Isixhobo 001: ID 1d6b:0003 Linux Isiseko 3.0 ingcambu hub MaxPower 0mA Bus 001 Isixhobo 006: ID 8087:0a2a100 Intel001m Intel007m046Power Isixhobo 52: ID 98d:c001b Logitech, Inc. Umamkeli oManyeneyo MaxPower 005mA Bus 1 Isixhobo 40: ID 0101a100:001 Terminus Technology Inc. Hub MaxPower 010mA Bus 125 Isixhobo 93: IDc 4GB Af. I-Pen Drive MaxPower 480mA Bus 001 Device 003: ID 04f2:b424 Chicony Electronics Co., Ltd MaxPower 500mA Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub MaxPower 0mA

Eminye imiyalelo eluncedo kakhulu usb-izixhobo, lwazi, okanye, umzekelo, ukuba sinomendo wesixhobo (ngaphakathi / dev/), sinokubuza inkqubo kulo lonke ulwazi olunokwenzeka malunga nayo kunye neendlela ezisezantsi ekufuneka idlule kuzo. Ngokomzekelo, ukuba sidibanisa i-USB hard drive, ukuze sikwazi ukusebenzisa isixhobo, sifuna umqhubi we-SCSI (kuba / dev / sdX), sifuna umqhubi wokugcina we-USB, osebenza ngokusebenzisa I-USB port, eye hub, efakwe kwi-PCI port, phakathi kwezinye iinkqubo eziphakathi. Sasiyibona yonke le nto

$ udevadm ulwazi --query=indlela --igama=/dev/sdX --attribute-walk

o

$ udevadm ulwazi -a -n /dev/sdX

Ukuba sifuna ukuphuma, sinokungena /sys/ibhasi/usb kwaye ujonge kuyo yonke into apho, siya kubona ulwazi oluninzi, kodwa ngethamsanqa imiyalelo yangaphambili ihlela zonke ezi nkcukacha.

Amalungelo kunye nezixhobo

Ukwenza lo msebenzi kuya kufuneka sazi ukuba sesiphi isixhobo esiya kuso qhagamshela kwakhona. Ukwenza oku, sinokwenza:

$dmesg | umsila [Thu Nov 24 19:50:04 2016] sd 7:0:0:0: Iqhotyoshelweyo scsi generic sg3 uhlobo 0 [798339.431677] sd 7:0:0:0: [sdc] 15806464 by 512 blocks 8.09 GB/7.54 GiB) [798339.431840] sd 7:0:0:0: [sdc] Bhala iProtect icinyiwe [798339.431848] sd 7:0:0:0: [sdc] IMode Sense: 00 00. sd 00:00:798339.431988:7: [sdc] Ukucela idatha ye-cache ayiphumelelanga [0] sd 0: 0: 798339.431996: 7: [sdc] Ukucinga i-cache ye-drive: bhala nge- [0] sdc: sdc0 sdc0. :798339.434157:1:2: [sdc] Iqhotyoshelwe kwidiski esusekayo ye-SCSI [798339.446812] ISO 7 Izandiso: iMicrosoft Joliet iNqanaba 0 [0] ISO 0 Izandiso: RRIP_798360.808588A

Kule mveliso, siya kubona ukuba isixhobo esisebenza naso si sdc (i-sdc1 kunye ne-sdc2 iya kuba yizahlulo ngaphakathi kwediski). Kwimizekelo endiya kusebenzisa esi sixhobo, kwimeko yakho kuya kufuneka ubone ukuba yeyiphi onayo.

Kule mizekelo ingezantsi ndiya kusebenzisa sudo ukuqhuba imiyalelo ngamalungelo Ingcambu. Nangona kuya kwanela ukuba nomsebenzisi onemvume eyaneleyo. Ukuba sifuna ukubona amalungelo ayimfuneko, yenza nje ls kwisixhobo:

$ ls -latr /dev/sdc brw-rw---- 1 ingcambu disk 8, 32 Nov 24 19:50 /dev/sdc

Apho sibona ukuba umnini yingcambu kunye neqela disk. Kuya kwanela ukuba nomsebenzisi okwiqela lediski.

Indlela yoku-1. Yiphathe ngokungathi yiCD/DVD

Yeyona ilula kuzo zonke. Ngokuqinisekileyo ukuba ubusebenzisa i-GNU/Linux iminyaka, xa ubusebenza nge-CD-ROM okanye iDVD usebenzise umyalelo wokukhupha. Kulungile, i-eject isetyenziselwe ukuvula iCDROM kwaye ikhuphe -t yasetyenziswa ukuvala itreyi. Ewe, ukuba senza oku phambi kwesixhobo se-USB:

$ sudo eject -t /dev/sdc

Isixhobo kufuneka sibonakale ngathi siqhagamshele kwakhona.

Indlela yesi-2. Ukukhutshwa kwe-Virtual kunye nokuplaga

Kwezinye iinkqubo (ixesha elide i-hardware iyayixhasa), xa ususa ngokukhuselekileyo isixhobo se-USB, amandla kwisixhobo amisiwe kwaye isixhobo asisabonakali. Kuyafana naxa usenza:

udisksctl ukucima amandla -b /dev/sdc

Kule meko, / dev / sdc Sisixhobo sam, kwaye ngalo myalelo yalinganisa uqhawulo lombane lwenyani.

Ingxaki kukuba ngoku / dev/sdc ayikho, enyanisweni, ukuba sijonga i-dmesg, siya kufumana into enje:

$dmesg | umsila [281954.693298] usb 1-5: Ukuqhawula i-USB, inombolo yesixhobo 3

Ngoko ukuba sizama indlela ye khupha ayiyi kusebenza. Qaphela: Ndibalule usb 1-5 kwaye kungekudala siza kubona ukuba kutheni.

Ukuba usebenza ukude, oku kunokuba ngumbono olungileyo. Khawufane ucinge ukuba une-USB eqhagamshelwe ukwenza iikopi zokugcina. Xa usenza iikopi, kuhle ukuba inkqubo yazi ukuba kukho iidiski ezidityanisiweyo, kodwa xa singazisebenzisi, kwelinye icala, kufuneka. yonga amandla kwaye ugweme ukunxitywa kweediski, ngoko kungcono ukunqumla amandla, kwelinye icala, asifuni izicelo ezinobungozi zibone ukuba zikhona ezi disks ukuze bangosulelwa. (Ewe, kukho iintsholongwane kwi-GNU/Linux).

Sidibanisa njani amandla ngoku?

Kufuneka senze umnxeba kwizibuko le-USB, kuba le kukho iprojekthi ebizwa hubpower (Ndidibanisa nefolokhwe yeprojekthi yokuqala kuba i-bug ilungisiwe apha enokuthi ithathe amandla ngaphandle kwezixhobo ezininzi kwaye hayi le esiyifunayo kuphela). Kukho iiprojekthi ezininzi (ezifana ne uhubctl), kodwa oku akunakuxhomekeka xa sisiya kuqulunqa, kwaye yifayile ye hubpower.c.
Okokuqala, siyayiqulunqa,

$ gcc -o hubpower hubpower.c

Ngoku, uyawakhumbula amanani abhalwe ngqindilili kwi dmesg?, kulungile siza kuzisebenzisa, kuya kufuneka sikhuphe isixhobo kwaye siqhagamshele kwakhona, ngolu hlobo:

$ sudo ./hubpower 1:1 amandla 5 off Izibuko 5 ubume: 0000 Power-Off $ sudo ./hubpower 1:1 amandla 5 kwisiZibuko 5 ubume: 0100 Power-On

Ukuba isixhobo asisiboni, sinokuzama ukwenza:

$ sudo ./hubpower 1:1 bopha Faka isicelo somqhubi esithunyelwe kwikernel

Ngale ndlela, siya kubona isixhobo sethu se-USB esiqhagamshelweyo kwakhona.

Ukuba asifuni inkqubo kwi-C ... ndinayo kwi-perl

Inkqubo ye-C kunzima ukuyiqokelela kunye nokuvavanya ukuba into esiza kuyenza ilula kakhulu, ngoko sinokuzama eli zibuko lincinci kwimigca eli-10 eyenziwe ePerl:

#!/bin/perl ifuna "sys/ioctl.ph"; $isixhobo="05"; vula(yam i$usbdev, ">", "/dev/bus/usb/001/001"); $ data = ipakethe ("H *", "23010800".$device."000000FFFF8813"); ioctl($usbdev, 0xC0185500, data $); $ data = ipakethe ("H *", "23030800".$device."000000FFFF8813"); ioctl($usbdev, 0xC0185500, data $); vala ($ usbdev);

Kufuneka sihloniphe $isixhobo, inombolo yezibuko (kwimeko yam yayiyi-5), lixabiso le-hexadecimal, ngoko ke i-10 iya kuba ngu-A, i-11 iya kuba ngu-B, i-15 iya kuba ngu-F, i-16 iya kuba yi-10... Kwakhona kufuneka sibeke iliso kwisixhobo kunye nesixhobo. ibhasi, esifikelela kuyo ukusuka /dev/bus/usb/001/001, amanani kufuneka abe noziro abakhokelayo kuba sibiza loo fayile.

Njengoko sibona, isitshixo sikwi ioctl (), ngumsebenzi olawula iiparamitha zesixhobo kwifayile ekhethekileyo kwindlela yefayile. Phakathi kwexabiso le-hexadecimal elisetyenzisiweyo, sifumana 0xC0185500, into eqhubekayo ebizwa USBDEVFS_CONTROL esiya kuthi ngayo sithumele umyalelo wolawulo kwisixhobo se-USB.Ezinye iikhowudi zezoqhawulo kunye nesicelo soqhagamshelo (ungafumana ulwazi oluthe kratya kwinkqubo eyenziwe ku-C).

Indlela yesi-3. Ukufihla kunye nokubonisa isixhobo

Enye indlela yokuqhawula ifowuni inokuba:

echo '1-5' | sudo tee /sys/bus/usb/drivers/usb/unbind

Kwaye sinokuyibuyisela ngokwenza:

i-echo '1-5' | sudo tee /sys/ibhasi/usb/abaqhubi/usb/bophelela

Le ndlela ayibangeli ukuqhawulwa ngokupheleleyo kwesixhobo. Ikhusela kuphela inkqubo yokusebenza ekuthetheni nayo kunye nezixhobo ezininzi, xa ikhomputha ingafuni ukwazi nantoni na ngabo, yiya kwimodi yamandla aphantsi, kuba asiyi kubabuza nantoni na.

Indlela 4. Ugunyaziso lweSixhobo

Into embi ngale ndlela kukuba kwiinkqubo ezininzi izixhobo ezininzi zinokukhutshazwa okwethutyana, ezingeyiyo kuphela esiyifunayo, kodwa sihlasela ihabhu yonke ye-USB. Umzekelo:

$ echo 0 | sudo tee /sys/bus/usb/devices/usb1/egunyazisiweyo $ echo 1 | sudo tee /sys/bus/usb/devices/usb1/authorized

Oko, ewe, sinokwenza yonke into ngokulandelelana:

$ echo 0 | sudo tee /sys/bus/usb/devices/usb1/egunyazisiweyo; echo 1 | sudo tee /sys/bus/usb/devices/usb1/authorized

Kufuneka silumke, ukuba kukho iidrive ezininzi eziqhagamshelwe kwizibuko le-USB elifanayo (kwaye phantse rhoqo kwiikhompyuter zethu amazibuko e-USB amaninzi kunokuba sibona adityaniswe ngaphakathi kwi-hub, ngoko ke kukho amaqela amazibuko ane-USB efanayo. ubawo, uyibeke ngandlela thile.

Indlela yesi-5. Qalisa kwakhona i-subsystem ye-USB

Ukuba sifuna ukuqalisa kwakhona isistim esezantsi ye-USB. Oko kukuthi, hlaziya zonke izixhobo ze-USB, ezifana nokukhupha kunye nokuzifaka kuzo zonke, kwelinye icala sinokukhuphela kwaye silayishe kwakhona imodyuli ye-kernel ye-USB:

$ sudo modprobe -r ehci_hcd ; sudo modprobe ehci_hcd #Ye-USB2 $ sudo modprobe -r xhci_hcd; sudo modprobe xhci_hcd #Ye-USB3

Nangona ezinye izinikezelo, iinguqulelo zamva nje ze-Ubuntu kunye nezinto eziphuma kuzo zibandakanyiwe, zine iimodyuli ezidityanisiweyo ze-USB kwaye ayinakukhutshelwa. Kwelinye icala, inkqubo inokungasivumeli ukuba sizikhuphele ngenxa yokuba zisetyenziswa ngenxa yezinye iimodyuli (abashicileli, ukugcinwa, izixhobo zokujongana, njl.njl.), kwaye ukuba siqala ukukhuphela iimodyuli kunye nokwaphula izinto sinokuphinda siqalise ikhompyuter. ekugqibeleni. Ke, enye indlela esinokuyenza ngayo:

$echo '0000:00:14.5' | sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind $ echo '0000:00:14.5' | sudo tee /sys/bus/pci/drivers/xhci_hcd/bind

Ukufumana isixhobo sethu, sinokwenza ls ngaphakathi /sys/bus/pci/drivers/xhci_hcd, izinto ezininzi ziya kuvela, kufuneka sijonge enye ejongeka ngolu hlobo. yyyy:bb:cc:dd.e. Izibuko lakho le-USB alinakuza njenge xhci_hcd (USB3), kodwa endaweni yoko lize njenge ehci_hcd (USB2)


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.

  1.   Cristian sitsho

    Inqaku elihle!

    1.    yifumase sitsho

      Enkosi kakhulu Cristian! Ndiyathemba ukuba uyifumene iluncedo.

  2.   UAntonio Juan sitsho

    Kule nqaku ayikhankanywanga ukuba nanini na xa uza kuyifaka kuyo ikwicala elichaseneyo nelichanekileyo kwaye kufuneka ujike ... hehehe. Inqaku elikhulu.

    1.    yifumase sitsho

      Enkosi Antonio Juan! yhazi jonga awuyazi ukuba indehlele kangaphi lonto ngoku ndivavanya yonke into endiyifake eposini!!! 🙂

  3.   I-ROMSAT sitsho

    Uqaqambileyo. Inqaku eliphezulu. Ifanele ibe nesihloko esithi: "Funda ngeLinux ngokukhupha iplagi kunye nokuplaga intonga yakho ye-USB." Sivuyisana nawe.
    Imibuliso evela eMalaga.

    1.    yifumase sitsho

      Ewe ewe, andazi ukuba nabani na uya kuqalisa inkqubo kwi-C kunye nokufikelela kwizixhobo kule post!! NaseMalaga!! Sikho kuyo yonke indawo 🙂

  4.   HO2Gi sitsho

    Inqaku elinomtsalane. Uhambe kakhulu ngezinto ezinjalo.

    1.    yifumase sitsho

      Enkosi HO2Gi!! Kwiblogi yam yobuqu ( http://totaki.com/poesiabinaria ) kukwakho ezininzi zokufundisa kwisitayile 🙂

  5.   ndiyathetha sitsho

    enkosi kakhulu mfondini. Ndiqala kwiLinux, ngakumbi kwiLinux Mint, kwaye ndinengxaki elandelayo: kwikhonsoli ndiyabona ukuba ifowuni yam iqhagamshelwe kumatshini kodwa kumphathi wefayile ayikho. Ke ngoko andinakuyisebenzisa njengemodem ukuqhagamshela kwi-intanethi. Ndingenza ntoni?

    1.    UGaspar Fernandez sitsho

      Kukho iifowuni ezingakuvumeli ukuba uqhagamshele njengemodem, kodwa unokwenza iTethering

  6.   Milazzo sitsho

    Amaxwebhu agqwesileyo!
    Enkosi ngokuthatha ixesha lakho ukwabelana ngamava.
    Ndiyisebenzisa njengesalathiso solunye uhlobo lwengxaki endinayo: Ukuqhawulwa koqhagamshelwano lwezibuko ze-USB ku-Ubuntu (#42~precise1-Ubuntu SMP Wed Aug 14 15:31:16 UTC 2013)
    Kuza ixesha kwi-System ebuyisela i--110 kwi-dmesg kwaye iphinde iqalise i-PC, kucingelwa ukuba ukusilela kubangelwa ukungabikho kwamandla kwi-USB apho ifowuni ixhunyiwe (i-USB3.0).

    Ngoku ndisebenzisa i-lsusb -v ukujonga umgangatho wamandla wesixhobo kodwa ibuyisela i-2mA, engenangqondo ngokupheleleyo ... kuphela ii-LED ezidla ngaphezu koko ...

    Ndidibanisa imodem yeHuawei E4 8372G-USB, nangona kunjalo amandla amakhulu abonisa i-2mA, engakholelekiyo, ngoku ukuthandabuza kutshintshile kwaye kwavela abanye:
    Ngaba iMaxPower luphawu oluza ngokuzenzekelayo kwisixhobo okanye kwi-OS?
    Ngaba iparameter yamandla aphezulu ukuba izibuko le-USB liza kuzisa?
    Ukuba yiparameter
    Ngaba le parameter ingalungiswa kwaye ibekwe kubuninzi obunikwe yi-USB port (900mAh- 3.0 / 500mAh- 2.0)?
    Ukuba ayiyo parameter,
    Ngaba lixabiso lokulinganisa ixesha lokwenyani lokusetyenziswa nge-USB (akunakwenzeka)?
    Ukuba yenye inketho, nceda undicacisele kuba ndinokuthandabuza malunga nolwazi lwereferensi.

    Ndinamathandabuzo amaninzi malunga nexabiso leMaxPower Ukuba unalo naluphi na ulwazi olongezelelweyo, ndingabulela kakhulu.

    lsusb -v 2>/dev/null |egrep «^Bus|MaxPower|bDeviceClass|iProduct»

    Ibhasi 002 Isixhobo 006: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial iadaptha
    bDeviceClass 255 Umthengisi Class Specific
    iProduct 2 USB2.0-Serial
    Amandla aphezulu angama-96mA
    Ibhasi 002 Isixhobo 008: ID 12d1:14db Huawei Technologies Co., Ltd.
    bDeviceClass 2 uNxibelelwano
    iProduct 2 HUAWEI_MOBILE
    MaxPower 2mA

  7.   Engaziwa sitsho

    Ngaba inokufakwa kwiifestile?

  8.   UChelo sitsho

    Enkosi kakhulu. Ukusebenzisa i-udisksctl power-off -b /dev/sdc kwi-drive yam yangaphandle kwakwanele ukusombulula intloko. Ngaba bekungayi kuba ngcono ukuba ukwehlisa kunenketho yokwenza le nto inye?

  9.   Marisa sitsho

    Thixo, yintoni i-c * ck! Ngaba ukho umntu owayifunda yonke le will? Kwaye emva kwayo yonke into, asazi ukuba ukucima njani i-DAC / USB sound interface, umshicileli, ithebhulethi yegraphics ... ngokufutshane, nantoni na ngaphandle kwe-skewer okanye idiski yangaphandle. Yhini ukumosha ixesha...