5 mënyra për të shkëputur dhe lidhur një pajisje USB pa hequr duart nga tastiera

Në shumë raste, kur jemi duke përdorur kompjuterin tonë, ne shkëputim një pajisje USB (në mënyrë të sigurt, ashtu siç duhet të jetë) dhe, menjëherë pas kësaj, ne e kuptojmë se kemi harruar të kopjojmë një skedar ose që duhej të siguroheshim që një e dhënë ishte në njësia jonë. Për këto raste, zakonisht është shumë e dobishme të shkëputni virtualisht disqet USB kur punoni në distancë.

Duke e nxjerrë pajisjen, nuk e shohim më në listën tonë të pajisjeve, por hard drive ose pendrive është akoma i lidhur përmes portës USB, dhe në shumë shpërndarje sot, pasi kemi nxjerrë në mënyrë të sigurtë diskun, nuk e shohim as pajisjen dhe Ne nuk mund të bëjmë malin nga terminali ynë. Zgjidhja më e shpejtë është të shkëputni kabllon dhe ta rilidhni atë, në disa raste, ose për shkak të përtacisë që duhet të ngriheni ose sepse jemi duke hyrë në një kompjuter që nuk jemi përpara dhe nuk ka askush përreth, ne nuk mund ta bëjmë atë .

Informacion në lidhje me pajisjet USB

Para se të fillojmë, le të shohim se si të marrim informacion në lidhje me pajisjet USB të lidhura në sistem. Për këtë, ne mund të përdorim lsusb, e cila do të rendisë pajisjet e lidhura tani. Unë vendos shembuj të asaj që marr në kompjuterin tim tani, por ndoshta është shumë ndryshe nga ajo që merrni:

$ lsusb Pajisja 002 Bus 001: ID 1d6b: 0003 Linux Foundation 3.0 rrënja qendrore Bus 001 Pajisja 006: ID 8087: 0a2a Intel Corp. Bus 001 Pajisja 007: ID 046d: c52b Logitech, Inc. Bashkimi i Marrësit Autobus 001 Pajisja 005: ID 1a40 : 0101 Terminus Technology Inc. Pajisja e shpërndarësit 001 Pajisja 010: ID 125f: c93a A-DATA Technology Co., Ltd. 4GB Pen Drive Bus 001 Pajisja 003: ID 04f2: b424 Chicony Electronics Co., Ltd Autobusi 001 Pajisja 001: ID 1d6b : 0002 Linux Foundation 2.0 rrënjë

Nëse duam më shumë informacion, mund të përdorim modifikuesin -t që do të na tregojë një dalje në formë peme me informacione rreth moduleve:

$ lsusb -t /: Autobusi 02. Porta 1: Dev 1, Klasa = root_hub, Drejtuesi = xhci_hcd / 8p, 5000M /: Autobusi 01. Porta 1: Zhvillimi 1, Klasa = root_hub, Drejtuesi = xhci_hcd / 16p, 480M | __ Porti 4: Zhvillimi 3, Nëse 0, Klasa = Video, Shoferi = uvcvideo, 480M | __ Porti 4: Zhvillimi 3, Nëse 1, Klasa = Video, Drejtuesi = uvcvideo, 480M | __ Porta 5: Zhvillimi 10, Nëse 0, Klasa = Storage Mass, Driver = usb-storage, 480M | __ Port 6: Dev 5, If 0, Class = Hub, Driver = shpërndarës / 4p, 12M | __ Port 4: Dev 7, Nëse 0, Class = Pajisja e Ndërfaqes Njerëzore Shoferi = usbhid, 12M | __ Porta 4: Dev 7, Nëse 1, Klasa = Pajisja e Ndërfaqes Njerëzore, Drejtuesi = usbhid, 12M | __ Porta 4: Dev 7, Nëse 2, Klasa = Pajisja e Ndërfaqes Njerëzore, Drejtuesi = usbhid, 12M | __ Porta 9: Zhvillimi 6, Nëse 0, Klasa = Pa tel, Shoferi = btusb, 12M | __ Porta 9: Zhvillimi 6, Nëse 1, Klasa = Pa tel, Drejtuesi = btusb, 12M

Nëse duam shumë më shumë informacion, mund ta përdorim lsusb -v (prodhimi është shumë i madh), ne gjithashtu mund, për shembull, të dimë fuqinë maksimale që i jepet pajisjes, në mënyrën vijuese:

$ lsusb -v 2> / dev / null | egrep "^ Bus | MaxPower" Bus 002 Pajisja 001: ID 1d6b: 0003 Linux Foundation 3.0 rrënja e qendrës MaxPower 0mA Bus 001 Pajisja 006: ID 8087: 0a2a Intel Corp. MaxPower 100mA Bus 001 Pajisja 007: ID 046d: c52b Logitech, Inc. Marrësi Unifikues MaxPower 98mA Bus 001 Pajisja 005: ID 1a40: 0101 Terminus Technology Inc. Hub MaxPower 100mA Bus 001 Pajisja 010: ID 125f: c93a A-DATA Technology Co., Ltd. 4GB Pen Drive MaxPower 480mA Bus 001 Pajisja 003: ID 04f2: b424 Chicony Electronics Co., Ltd MaxPower 500mA Bus 001 Pajisja 001: ID 1d6b: 0002 Linux Foundation 2.0 rrënjë rrënjë MaxPower 0mA

Komandat e tjera shumë të dobishme janë pajisjet usb, hwinfo, ose, për shembull, nëse kemi rrugën e një pajisjeje (brenda / dev /), ne mund t'i kërkojmë sistemit të gjitha informacionet e mundshme në lidhje me të dhe nënsistemet nëpër të cilat duhet të kalojë. Për shembull, nëse lidhim një disk të fortë USB, që të mund të shohim se si ta përdorim pajisjen, na duhet një drejtues SCSI (për të qenë / dev / sdX), na duhet edhe një drejtues ruajtjeje USB, i cili funksionon përmes Porta USB, e cila i përket një qendre, e cila është e lidhur në një port PCI, midis sistemeve të tjera të ndërmjetme. Të gjitha ato që mund të shihnim me

$ udevadm info - pyetje = shteg - emër = / dev / sdX - atribut-ecje

o

$ udevadm info -a -n / dev / sdX

Nëse duam të ndërmarrim, mund të hyjmë gjithashtu / sys / autobus / usb dhe shikoni gjithçka që ka, do të shohim shumë informacione, por për fat të mirë komandat e mësipërme klasifikojnë të gjithë këtë informacion.

Privilegjet dhe pajisjet

Për të kryer këtë detyrë do të duhet të dimë se në cilën pajisje do të shkojmë rilidheni. Për ta bërë këtë, ne mund të ekzekutojmë:

$ dmesg | bishti [Thu Nov 24 19:50:04 2016] sd 7: 0: 0: 0: Bashkangjitur scsi generic sg3 tip 0 [798339.431677] sd 7: 0: 0: 0: [sdc] 15806464 512 bajt blloqe logjike: ( 8.09 GB / 7.54 GiB) [798339.431840] sd 7: 0: 0: 0: [sdc] Writ Protect është joaktive [798339.431848] sd 7: 0: 0: 0: [sdc] Modaliteti Sense: 00 00 00 00 [798339.431988] sd 7: 0: 0: 0: [sdc] Kërkimi i të dhënave të memorjes së fshehtë dështoi [798339.431996] sd 7: 0: 0: 0: [sdc] Supozimi i memorjes së fshehtë të diskut: shkruaj [798339.434157] sdc: sdc1 sdc2 [798339.446812] sd 7 : 0: 0: 0: [sdc] Disk i lëvizshëm i bashkangjitur SCSI [798360.808588] ISO 9660 Extensions: Microsoft Joliet Niveli 3 [798360.809353] ISO 9660 Shtesa: RRIP_1991A

Në këtë dalje, do të shohim se pajisja me të cilën po punojmë është SDC (sdc1 dhe sdc2 do të ishin ndarje brenda atij disku). Për shembujt që unë do ta përdor këtë pajisje, në rastin tuaj do të duhet të vizualizoni se cilën llogari keni.

Në shembujt më poshtë do të përdor sudo për të ekzekutuar komandat me privilegjet e rrënjë. Megjithëse do të ishte e mjaftueshme që të keni një përdorues me leje të mjaftueshme. Nëse duam të shohim privilegjet e nevojshme, thjesht bëj ls te pajisja:

$ ls -latr / dev / sdc brw-rw ---- 1 disk rrënjë 8, 32 nëntor 24 19:50 / dev / sdc

Aty shohim që pronari është root dhe grupi disk. Do të mjaftonte të kishit një përdorues që i përkiste diskut të grupit.

Metoda 1. Trajtojeni atë si një CD / DVD

Shtë më e thjeshtë nga të gjitha. Me siguri nëse keni qenë në GNU / Linux për vite me radhë, kur keni punuar me CD-ROM ose DVD keni përdorur komandën eject. E pra, eject u përdor për të hapur CDROM dhe eject -t u përdor për të mbyllur sirtarin. Epo, nëse e bëjmë këtë para pajisjes USB:

$ sudo nxjerr -t / dev / sdc

Pajisja duhet të shfaqet sikur ta kemi lidhur përsëri.

Metoda 2. Lidhur nga priza dhe Virtual

Në disa sisteme (për sa kohë që hardueri e mbështet), kur hiqni me siguri pajisjen USB, pajisja ndalet së ndezuri dhe pajisja nuk shfaqet më. Theshtë njësoj si kur bëni:

udisksctl fikje -b / dev / sdc

Në këtë rast, / Dev / sdc është pajisja ime, dhe me këtë komandë simuloi një shkëputje virtuale të energjisë.

Problemi është që tani / dev / sdc nuk ekziston, për më tepër, nëse shikojmë dmesg, do të marrim diçka si kjo:

$ dmesg | bishti [281954.693298] usb 1-5: Shkëputja e USB-së, numri i pajisjes 3

Pra, nëse përpiqemi me metodën e nxjerr jashtë nuk do te funksionoje. Shënim: Unë kam theksuar usb 1-5 dhe do ta shohim pse së shpejti.

Nëse punoni në distancë, kjo mund të jetë një ide e mirë. Imagjinoni sikur keni të lidhur USB-të për të bërë kopje rezervë. Kur jeni duke bërë kopjet, është mirë që sistemi të dijë se ka disqe të lidhura, por, kur nuk po i përdorim nga njëra anë, ne duhet të kurseni energji dhe shmangni veshin e disqeve, kështu që është më mirë të prisni rrymën, nga ana tjetër, ne nuk duam që aplikacionet me qëllim të keq të shohin që ato ekzistojnë këta disqe që të mos infektohen. (Po, ka viruse në GNU / Linux).

Si ta lidhim rrymën tani?

Ne duhet të bëjmë një thirrje në portën USB, për këtë ekziston një projekt i quajtur fuqi hubi (Unë lidhem me një pirun të projektit origjinal sepse këtu rregullohet një defekt që mund të heqë rrymën nga më shumë pajisje dhe jo vetëm nga ajo që duam). Ka më shumë projekte (si uhubctl), por kjo nuk ka asnjë varësi kur ne shkojmë për të përpiluar, është gjithashtu vetëm një skedar hubpower.c.
Së pari, ne e përpilojmë atë,

$ gcc -o fuqi hubpower.c

Tani, a i mbani mend numrat me shkronja të zeza nga dmesg? Epo, ne do t'i përdorim ato, do të duhet të shkëputim pajisjen dhe ta rilidhim, si kjo:

$ sudo ./hubpower 1: 1 energji 5 off Port 5 statusi: 0000 Power-Off $ sudo ./hubpower 1: 1 pushtet 5 në Port 5 status: 0100 Power-On

Nëse pajisja nuk na zbulon, mund të përpiqemi të bëjmë:

$ sudo ./hubpower 1: 1 lidh kërkesën e Bind-driver dërguar në kernel

Në këtë mënyrë, ne do të shohim përsëri pajisjen tonë të lidhur USB.

Nëse nuk duam një program C ... Unë e kam atë në perl

Një program C është i vështirë për t’u përpiluar dhe provuar nëse ajo që do të bëjmë është shumë e thjeshtë, kështu që ne mund ta provojmë këtë port të vogël në 10 rreshta të bërë në perl:

#! / bin / perl kërkojnë "sys / ioctl.ph"; $ pajisje = "05"; e hapur ($ usbdev im,"> "," / dev / autobus / usb/ 001/001 "); $ data = pack ("H *", "23010800". $ pajisje. "000000FFFFFF8813"); ioctl ($ usbdev, 0xC0185500, $ të dhëna); $ data = pack ("H *", "23030800". $ pajisje. "000000FFFFFF8813"); ioctl ($ usbdev, 0xC0185500, $ të dhëna); mbyll ($ usbdev);

Ne duhet të respektojmë pajisje $, numri i portit (në rastin tim ishte 5), është një vlerë në heksadecimal, prandaj 10 do të jetë A, 11 do të jetë B, 15 do të jetë F, 16 do të jetë 10 ... Ne gjithashtu duhet të monitorojmë pajisjen dhe autobusin, në të cilin kemi qasje nga / dev / autobus / usb /001/001, numrat duhet të shkojnë me zero kryesor pasi që ne po e quajmë atë skedar.

Siç mund ta shohim, çelësi është në ioctl (), është një funksion që manipulon parametrat e një pajisjeje nga një skedar i veçantë në sistemin e skedarëve. Ndër vlerat heksadecimale të përdorura, gjejmë 0xC0185500, një konstante e quajtur USBDEVFS_CONTROL me të cilën ne do të dërgojmë një komandë kontrolli në pajisjen USB, kodet e tjera i përkasin kërkesës së shkyçjes dhe lidhjes (ju mund të gjeni më shumë informacion në programin e bërë në C).

Metoda 3. Fshehja dhe shfaqja e pajisjes

Një mënyrë tjetër për të shkëputur pajisjen mund të jetë:

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

Dhe ne mund ta rimarrim atë duke bërë:

jehona '1-5' | sudo tee / sys / bus / usb / shoferët / usb / bind

Kjo metodë nuk shkakton një shkëputje të plotë të pajisjes. Vetëm bën që sistemi operativ të mos flasë me të dhe shumë pajisje, kur një kompjuter nuk dëshiron të dijë asgjë për to, vendosen në modalitetin e energjisë së ulët, pasi që ne nuk do të kërkojmë asgjë.

Metoda 4. Autorizimi i pajisjes

E keqja e kësaj metode është se në shumë sisteme më shumë pajisje mund të çaktivizohen përkohësisht, të cilat nuk janë vetëm ato që na duhen, por ne gjithashtu sulmojmë një shpërndarës të tërë USB. Për shembull:

$ jehonë 0 | sudo tee / sys / bus / usb / pajisje / usb1 / echo e autorizuar $ 1 | sudo tee / sys / bus / usb / pajisje / usb1 / i autorizuar

E cila, natyrisht, ne mund të ekzekutojmë gjithçka me radhë:

$ jehonë 0 | sudo tee / sys / bus / usb / pajisje / usb1 / i autorizuar; jehona 1 | sudo tee / sys / bus / usb / pajisje / usb1 / i autorizuar

Duhet të jemi të kujdesshëm, nëse ka më shumë disqe të lidhura në të njëjtën port USB (dhe pothuajse gjithmonë në kompjuterët tanë, disa porta USB sesa ato që shohim janë të lidhur brenda me një shpërndarës, kështu që ka grupe portesh me të njëjtën USB baba, vendoseni në një farë mënyre.

Metoda 5. Rindizni nënsistemin USB

Nëse duam të rinisim nënsistemin USB. Kjo do të thotë, rifreskoni të gjitha pajisjet USB, të tilla si shkëputjen dhe lidhjen e të gjithave, nga njëra anë mund të shkarkojmë dhe rimbushim modulin e kernelit USB:

$ sudo modprobe -r ehci_hcd; sudo modprobe ehci_hcd # Për USB2 $ sudo modprobe -r xhci_hcd; sudo modprobe xhci_hcd #Për USB3

Edhe pse disa shpërndarje, versionet më të fundit të Ubuntu dhe derivateve të përfshira, kanë module të integruara USB dhe ato nuk mund të shkarkohen. Nga ana tjetër, sistemi mund të mos na lejojë t'i shkarkojmë, sepse ato janë në përdorim për shkak të moduleve të tjerë (printerë, hapësira ruajtëse, pajisje ndërfaqeje, etj.), Dhe nëse fillojmë të shkarkojmë module dhe të prishim gjërat, mund të na duhet të rifillojmë kompjuteri. ne fund. Pra, në një mënyrë tjetër mund të bëjmë:

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

Për të gjetur pajisjen tonë, ne mund të bëjmë ls brenda / sys / autobus / pci / shoferë / xhci_hcd, do të shfaqen disa gjëra, duhet të kërkojmë një që duket si kjo aaaa: bb: cc: dd.e. Porta juaj USB mund të mos vijë si xhci_hcd (USB3), por më tepër ehci_hcd (USB2)


Përmbajtja e artikullit i përmbahet parimeve tona të etika editoriale. Për të raportuar një gabim klikoni këtu.

14 komente, lini tuajën

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet.

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   Cristian dijo

    Artikull i shkëlqyeshëm!

    1.    gazparfm dijo

      Faleminderit shumë Cristian! Unë shpresoj se ju keni gjetur të dobishme.

  2.   Anthony John dijo

    Në këtë artikull nuk thuhet se sa herë që do ta vendosni është në anën e kundërt me atë të saktën dhe duhet ta ktheni ... hehehe. Artikull i shkëlqyeshëm.

    1.    gazparfm dijo

      Faleminderit Antonio Juan! Epo shiko, nuk e di sa herë më ka ndodhur ndërsa isha duke provuar gjithçka që kam vendosur në postim! 🙂

  3.   ROMSAT dijo

    Brilante. Një artikull superior. Duhet të titullohet: "Mësoni rreth sistemit Linux thjesht duke hequr nga priza dhe duke e lidhur USB-në tuaj." Urime
    Përshëndetje nga Malaga.

    1.    gazparfm dijo

      Epo po, nuk e di nëse dikush do të fillojë programimin në C dhe aksesimin e pajisjeve nga ky post! Po nga Malaga !! Ne jemi kudo

  4.   HO2Gi dijo

    Artikull mbresëlënës. Ju keni kaluar në det me një material të tillë.

    1.    gazparfm dijo

      Faleminderit HO2Gi !! Në blogun tim personal ( http://totaki.com/poesiabinaria ) ka edhe shumë mësime të stilit

  5.   Atahualpa dijo

    faleminderit shume mik Po filloj në linux, posaçërisht në nenexhik linux, dhe kam problemin e mëposhtëm: në tastierë mund të shoh se telefoni im është i lidhur me makinerinë por jo në menaxherin e skedarëve. Dhe për këtë arsye nuk mund ta përdor si modem për tu lidhur në internet. Cfare mund te bej?

    1.    Gaspar Fernandez dijo

      Ka telefonë që nuk të lejojnë të lidhesh si modem, por mund të bësh Tethering

  6.   Milazzo dijo

    Dokumentacion i shkëlqyeshëm!
    Faleminderit që morët kohë për të ndarë përvojën.
    Po e përdor si referencë për një lloj problemi tjetër që kam: Shkyçja e portave USB në Ubuntu (# 42 ~ precise1-Ubuntu SMP Wed Gusht 14 15:31:16 UTC 2013)
    Vjen një kohë kur Sistemi hedh një -110 në dmesg dhe rifillon PC-në, supozohet se dështimi është për shkak të mungesës së energjisë në USB ku është e lidhur pajisja (USB3.0).

    Tani unë përdor lsusb -v për të verifikuar nivelin e energjisë së pajisjes, por ajo hedh 2mA, e cila është krejtësisht absurde ... vetëm LED-et konsumojnë më shumë se kaq ...

    Unë lidh një modem huawei E4 USB-8372G, megjithatë fuqia maksimale tregon 2mA, e cila është e pabesueshme, tani dyshimi ka ndryshuar dhe të tjerët kanë lindur:
    A është MaxPower një atribut që vjen si parazgjedhje në pajisje ose në OS?
    A është një parametër i fuqisë maksimale që do të japë porti usb?
    Në rast se është një parametër
    A mund të modifikohet dhe vendoset ky parametër në maksimumin e dhënë nga porta USB (900mAh- 3.0 / 500mAh- 2.0)?
    Në rast se nuk jeni një parametër,
    A është një vlerë matëse në kohë reale e konsumit USB (nuk ka gjasa)?
    Nëse është një mundësi tjetër, ju lutem më shpjegoni pasi unë kam dyshime në lidhje me informacionin referues.

    Unë kam disa dyshime në lidhje me këtë vlerë MaxPower, nëse keni ndonjë informacion shtesë do të isha shumë mirënjohës.

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

    Bus 002 Pajisja 006: ID 1a86: 7523 Përshtatës QinHeng Electronics HL-340 USB-Serial
    bDeviceClass 255 Klasa Specifike e Shitësit
    iProduct 2 USB2.0-Serial
    MaxPower 96mA
    Pajisja 002 e autobusit 008: ID 12d1: 14db Huawei Technologies Co., Ltd.
    Komunikimet bDeviceClass 2
    iProduct 2 HUAWEI_MOBILE
    MaxPower 2mA

  7.   Anonimo dijo

    A mund të zbatohet në dritare?

  8.   Chelo dijo

    Faleminderit shumë. Me udisksctl power-off -b / dev / sdc në diskun tim të jashtëm ishte e mjaftueshme për të zgjidhur dhimbjen e kokës. A nuk do të ishte më mirë nëse zbritja ka një mundësi ta bëjë këtë vetë?

  9.   Marisa dijo

    Zot çfarë dreqin! A e ka lexuar dikush tërë këtë testament? Dhe më lart pas pllakës ne ende nuk dimë se si të çaktivizojmë një ndërfaqe zanore DAC / USB, një printer, një tablet grafik ... me pak fjalë, asgjë që nuk është një gozhdë ose një disk i jashtëm. Çfarë humbje kohe ...