5 начина за искључивање и повезивање УСБ уређаја без скидања руку са тастатуре

У многим приликама, када користимо рачунар, искључимо УСБ уређај (сигурно, онакав какав мора бити) и одмах након тога схватимо да смо заборавили копирати датотеку или да морамо бити сигурни да су подаци у нашој јединици. У тим случајевима је врло корисно виртуелно одспојити УСБ погоне када радимо на даљину.

Избацивши уређај, више га не видимо на нашој листи уређаја, али чврсти диск или привезак су и даље повезани УСБ портом, а у многим дистрибуцијама данас, након што смо безбедно избацили погон, такође не видимо уређај и Не можемо моунт са нашег терминала. Најбрже решење је да искључите кабл и поново га повежете, у неким случајевима или због лењости због устајања или зато што приступамо рачунару пред којим нисмо и нико нема у близини, не можемо то да урадимо.

Информације о УСБ уређајима

Пре него што започнемо, погледајмо како да добијемо информације о УСБ уређајима повезаним на систем. За ово можемо користити лсусб, која ће тренутно навести повезане уређаје. Дајем примере онога што тренутно имам на рачунару, али можда се то веома разликује од онога што добијате:

$ лсусб Бус 002 Девице 001: ИД 1д6б: 0003 Линук Фоундатион 3.0 роот хуб Бус 001 Девице 006: ИД 8087: 0а2а Интел Цорп. Бус 001 Девице 007: ИД 046д: ц52б Логитецх, Инц. Унифиинг Рецеивер Бус 001 Девице 005: ИД 1а40 : 0101 Терминус Тецхнологи Инц. Уређај сабирнице 001 Уређај 010: ИД 125ф: ц93а А-ДАТА Тецхнологи Цо., Лтд. Уређај 4 Уређај сабирнице оловке 001ГБ 003: ИД 04ф2: б424 Сабирница Цхицони Елецтроницс Цо., Лтд 001: ИД 001д1б : 6 роот хуб Линук Фоундатион 0002

Ако желимо више информација, можемо користити модификатор -т који ће нам приказати излаз у облику стабла са информацијама о модулима:

$ лсусб -т /: Бус 02.Порт 1: Дев 1, Цласс = роот_хуб, Дривер = кхци_хцд / 8п, 5000М /: Бус 01.Порт 1: Дев 1, Цласс = роот_хуб, Дривер = кхци_хцд / 16п, 480М | __ Порт 4: Дев 3, Ако је 0, Цласс = Видео, Дривер = увцвидео, 480М | __ Порт 4: Дев 3, Иф 1, Цласс = Видео, Дривер = увцвидео, 480М | __ Порт 5: Дев 10, Иф 0, Цласс = Масс Стораге, Дривер = усб-стораге, 480М | __ Порт 6: Дев 5, Иф 0, Цласс = Хуб, Дривер = хуб / 4п, 12М | __ Порт 4: Дев 7, Иф 0, Цласс = Хуман Интерфаце Девице, Дривер = усбхид, 12М | __ Порт 4: Дев 7, Иф 1, Цласс = Хуман Интерфаце Девице, Дривер = усбхид, 12М | __ Порт 4: Дев 7, Иф 2, Цласс = Хуман Интерфаце Девице, Дривер = усбхид, 12М | __ Порт 9: Дев 6, Ако је 0, Цласс = Вирелесс, Дривер = бтусб, 12М | __ Порт 9: Дев 6, Иф 1, Цласс = Вирелесс, Дривер = бтусб, 12М

Ако желимо много више информација, можемо их користити лсусб -в (излаз је веома велик), поред тога, могли бисмо, на пример, да знамо максималну снагу која се испоручује на уређај, како следи:

$ лсусб -в 2> / дев / нулл | егреп "^ Бус | МакПовер" Бус 002 Уређај 001: ИД 1д6б: 0003 Основно чвориште Линук Фоундатион 3.0 МакПовер 0мА Бус 001 Уређај 006: ИД 8087: 0а2а Интел Цорп. МакПовер 100мА Бус 001 Уређај 007: ИД 046д: ц52б Логитецх, Инц. Обједињавајући пријемник МакПовер 98мА Бус 001 Уређај 005: ИД 1а40: 0101 Терминус Тецхнологи Инц. Чвориште МакПовер 100мА Бус 001 Уређај 010: ИД 125ф: ц93а А-ДАТА Тецхнологи Цо., Лтд. 4ГБ Пен Дриве МакПовер 480мА Бус 001 Уређај 003: ИД 04ф2: б424 Цхицони Елецтроницс Цо., Лтд МакПовер 500мА Бус 001 Уређај 001: ИД 1д6б: 0002 Основно чвориште Линук Фоундатион 2.0 МакПовер 0мА

Остале врло корисне команде су усб-уређаји, ХВиНФО, или, на пример, ако имамо путању уређаја (унутар / дев /), можемо затражити од система све могуће информације о њему и подсистемима које мора проћи. На пример, ако повежемо УСБ чврсти диск, да бисмо могли да видимо како да користимо уређај, потребан нам је СЦСИ управљачки програм (за бити / дев / сдКс), потребан нам је и УСБ драјвер за складиштење, који ради преко УСБ порта, који припада чвориште, које је између осталих средњих система прикључено на ПЦИ порт. Све што смо могли да видимо

$ удевадм инфо --куери = патх --наме = / дев / сдКс --аттрибуте-валк

o

$ удевадм инфо -а -н / дев / сдКс

Ако желимо да се одважимо, можемо и да уђемо / сис / бус / усб и погледајте све што постоји, видећемо пуно информација, али на срећу горње команде класификују све ове информације.

Привилегије и уређаји

Да бисмо извршили овај задатак, мораћемо да знамо на који ћемо уређај ићи поново повезати. Да бисмо то урадили, можемо покренути:

$ дмесг | таил [Тху Нов 24 19:50:04 2016] сд 7: 0: 0: 0: Приложени сцси генерички сг3 тип 0 [798339.431677] сд 7: 0: 0: 0: [сдц] 15806464 512-бајтни логички блокови: ( 8.09 ГБ / 7.54 ГиБ) [798339.431840] сд 7: 0: 0: 0: [сдц] Заштита од писања је искључена [798339.431848] сд 7: 0: 0: 0: [сдц] Смисао режима: 00 00 00 00 [798339.431988] сд 7: 0: 0: 0: [сдц] Неуспешно тражење података кеш меморије [798339.431996] сд 7: 0: 0: 0: [сдц] Под претпоставком кеш меморије: упишите кроз [798339.434157] сдц: сдц1 сдц2 [798339.446812] сд 7 : 0: 0: 0: [сдц] Приложени СЦСИ преносиви диск [798360.808588] ИСО 9660 Проширења: Мицрософт Јолиет Левел 3 [798360.809353] ИСО 9660 Проширења: РРИП_1991А

У овом излазу видећемо да је уређај са којим радимо сдц (сдц1 и сдц2 би биле партиције на том диску). За примере које ћу користити овај уређај, у вашем случају ћете морати да визуализујете који рачун имате.

У следећим примерима ћу користити судо да извршава команде са привилегијама корен. Иако би било довољно имати корисника са довољном дозволом. Ако желимо да видимо потребне привилегије, само урадите ls на уређај:

$ лс -латр / дев / сдц брв-рв ---- 1 роот диск 8, 32 новембар 24 19:50 / дев / сдц

Тамо видимо да је власник роот и група диск. Било би довољно да постоји корисник који припада диску групе.

Метод 1. Третирајте га као ЦД / ДВД

Најједноставније је од свега. Сигурно ако годинама користите ГНУ / Линук, када сте радили са ЦД-РОМ-ом или ДВД-ом, користили сте команду за избацивање. Па, избацивање је коришћено за отварање ЦДРОМ-а, а избацивање -т је коришћено за затварање лежишта. Па, ако ово урадимо пре УСБ уређаја:

$ судо ејецт -т / дев / сдц

Уређај би требало да изгледа као да смо га поново повезали.

Метод 2. Искључени и виртуелно прикључени

На неким системима (све док га хардвер подржава), када безбедно уклоните УСБ уређај, уређај се престаје напајати и уређај се више не појављује. То је исто као када радите:

удисксцтл искључивање -б / дев / сдц

У овом случају / дев / сдц то је мој уређај и овом наредбом је симулирао виртуелни прекид напајања.

Проблем је у томе што сада / дев / сдц не постоји, шта више, ако погледамо дмесг, добићемо нешто овако:

$ дмесг | реп [281954.693298] усб 1-5: УСБ прекид везе, уређај број 3

Па ако покушамо са методом избацити неће успети. Напомена: Истакао сам усб 1-5 а ускоро ћемо видети зашто.

Ако радите на даљину, ово би могла бити добра идеја. Замислите да имате УСБ уређаје прикључене на резервне копије. Када правите копије, добро је да систем зна да су повезани дискови, али, кад их не користимо, с једне стране морамо штеде енергију и избегавајте хабање дискова, па је боље смањити струју, с друге стране, не желимо да злонамерне апликације виде да постоје ове дискове да се не заразе. (Да, у ГНУ / Линук постоје вируси).

Како да сада повежемо струју?

Морамо да позовемо УСБ порт, јер за то постоји пројекат који се зове хубповер (Повезујем се са вилицом оригиналног пројекта, јер је овде исправљена грешка која може уклонити струју са више уређаја, а не само са оног који желимо). Постоји више пројеката (попут ухубцтл), али ово нема зависности, јер када идемо на компајлирање, то је такође само датотека хубповер.ц.
Прво, ми га састављамо,

$ гцц -о хубповер хубповер.ц

Сад, сјећате ли се бројева подебљаних из дмесг? Па, ми ћемо их користити, мораћемо да искључимо уређај и поново га повежемо, овако:

$ судо ./хубповер 1: 1 повер 5 офф Порт 5 статус: 0000 Повер-Офф $ судо ./хубповер 1: 1 повер 5 он Порт 5 статус: 0100 Повер-Он

Ако нас уређај не препозна, можемо покушати:

$ судо ./хубповер 1: 1 бинд Захтев за повезивање управљачког програма послат у језгро

На овај начин ћемо поново видети наш повезани УСБ уређај.

Ако не желимо Ц програм ... Имам га у перлу

Ц програм је тешко компајлирати и тестирати да ли је оно што ћемо учинити врло једноставно, па можемо испробати овај мали порт у 10 редова направљених у перлу:

#! / бин / перл захтева "сис / иоцтл.пх"; $ девице = "05"; опен (ми $ усбдев,"> "," / дев / бус / усб/ 001/001 "); $ дата = пацк ("Х *", "23010800". $ уређај. "000000ФФФФФФ8813"); иоцтл ($ усбдев, 0кЦ0185500, $ подаци); $ дата = пацк ("Х *", "23030800". $ уређај. "000000ФФФФФФ8813"); иоцтл ($ усбдев, 0кЦ0185500, $ подаци); затвори ($ усбдев);

Морамо поштовати $ уређај, број порта (у мом случају је био 5), то је вредност у хексадецималном, дакле 10 ће бити А, 11 ће бити Б, 15 ће бити Ф, 16 ће ​​бити 10 ... Такође морамо да надгледамо уређај и магистралу, којем приступамо са / дев / бус / усб /001/001, бројеви морају ићи са водећим нулама јер позивамо ту датотеку.

Као што видимо, кључ је у иоцтл (), то је функција која манипулише параметрима уређаја из посебне датотеке у систему датотека. Међу хексадецималним вредностима које користимо налазимо КСНУМКСкЦКСНУМКС, константа звана УСБДЕВФС_ЦОНТРОЛ помоћу које ћемо послати командну команду на УСБ уређај, Остали кодови припадају захтеву за искључење и повезивање (више информација можете пронаћи у програму направљеном на Ц).

Метод 3. Сакривање и приказивање уређаја

Други начин за искључивање уређаја може бити:

ецхо '1-5' | судо тее / сис / бус / усб / дриверс / усб / унбинд

А можемо га опоравити на следећи начин:

ецхо '1-5' | судо тее / сис / бус / усб / дриверс / усб / бинд

Овај метод не доводи до потпуног искључења уређаја. То само чини да оперативни систем не разговара с њим, а многи уређаји, када рачунар не жели да зна ништа о њима, прелазе у режим ниске потрошње, јер нећемо тражити ништа.

Метод 4. Овлашћење уређаја

Лоша страна ове методе је што се у многим системима може привремено деактивирати више уређаја, који нису само оно што нам треба, већ нападамо и читав УСБ чвориште. На пример:

$ ецхо 0 | судо тее / сис / бус / усб / девицес / усб1 / одобрени $ ецхо 1 | судо тее / сис / бус / усб / уређаји / усб1 / овлашћени

Што, наравно, можемо покретати све редом:

$ ецхо 0 | судо тее / сис / бус / усб / уређаји / усб1 / овлашћени; ецхо 1 | судо тее / сис / бус / усб / уређаји / усб1 / овлашћени

Морамо бити опрезни, ако на исти УСБ порт има више дискова повезаних (и готово увек на нашим рачунарима, неколико УСБ портова од оних које видимо су интерно повезани са чвориштем, тако да постоје групе портова са истим УСБ прикључком отац, стави то на неки начин.

Метод 5. Поново покрените УСБ подсистем

Ако желимо да поново покренемо УСБ подсистем. Односно, освежите све УСБ уређаје, попут њиховог искључивања и прикључења, с једне стране можемо преузети и поново учитати модул УСБ језгра:

$ судо модпробе -р ехци_хцд; судо модпробе ехци_хцд #За УСБ2 $ судо модпробе -р кхци_хцд; судо модпробе кхци_хцд #За УСБ3

Иако неке дистрибуције, укључујући и најновије верзије Убунту-а и деривате, имају интегрисани УСБ модули и не могу се преузети. С друге стране, систем нам можда неће дозволити да их преузмемо јер су у употреби због других модула (штампачи, меморија, уређаји за интерфејс итд.), А ако почнемо да преузимамо модуле и разбијамо ствари, можда ћемо морати поново да покренемо рачунар. на крају. Дакле, на још један начин можемо учинити:

$ ецхо '0000:00:14.5'| судо тее / сис / бус / пци / дриверс / кхци_хцд / унбинд $ ецхо '0000:00:14.5'| судо тее / сис / бус / пци / дриверс / кхци_хцд / бинд

Да бисмо пронашли свој уређај, можемо урадити лс унутар / сис / бус / пци / дриверс / кхци_хцд, појавиће се неколико ствари, морамо потражити једну која изгледа овако аааа: бб: цц: дд.е. Ваш УСБ порт можда неће бити кхци_хцд (УСБ3), већ ехци_хцд (УСБ2)


14 коментара, остави свој

Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   цристиан дијо

    Одличан чланак!

    1.    гаспарфм дијо

      Хвала пуно Цристиан! Надам се да вам је било корисно.

  2.   Антонио Јуан дијо

    У овом чланку није речено да кад год га желите ставити на супротну страну од исправне и морате га окренути ... хехехе. Одличан чланак.

    1.    гаспарфм дијо

      Хвала Антонио Јуан! Па, видите, не знате колико пута ми се то догодило док сам покушавао све што сам ставио у пост! 🙂

  3.   РОМСАТ дијо

    Сјајно. Супериоран предмет. Требало би да носи наслов: „Сазнајте о Линук систему једноставним искључивањем и укључивањем УСБ стицка.“ Честитам.
    Поздрав из Малаге.

    1.    гаспарфм дијо

      Па да, не знам да ли ће неко почети да програмира на Ц-у и приступа уређајима из овог поста! Такође из Малаге !! Свуда смо 🙂

  4.   ХО2Ги дијо

    Импресиван чланак. Претерали сте са таквим материјалом.

    1.    гаспарфм дијо

      Хвала ХО2Ги !! На мом личном блогу ( http://totaki.com/poesiabinaria ) постоји и пуно туторијала за стил 🙂

  5.   Атахуалпа дијо

    пуно хвала пријатељу. Покрећем у линуку, тачније у линук минт-у, и имам следећи проблем: у конзоли видим да је мој телефон повезан са машином, али не и са менаџером датотека. Због тога га не могу користити као модем за повезивање на Интернет. Шта ја могу да урадим?

    1.    Гаспар Фернандез дијо

      Постоје телефони који вам не дозвољавају да се повежете као модем, али можете да повежете мрежу

  6.   милаззо дијо

    Одлична документација!
    Хвала вам што сте одвојили време за поделу искуства.
    Користим га као референцу за другу врсту проблема који имам: Искључивање УСБ портова у Убунту-у (# 42 ~ прецизно1-Убунту СМП, среда 14. августа 15:31:16 УТЦ 2013)
    Дође време када Систем баци -110 у дмесг и поново покрене рачунар, претпоставља се да је квар настао услед недостатка напајања на УСБ-у где је уређај повезан (УСБ3.0).

    Сада користим лсусб -в за проверу нивоа снаге уређаја, али он баца 2мА, што је тотално апсурдно ... само ЛЕД диоде троше више од тога ...

    Повезујем хуавеи Е4 УСБ-8372Г модем, међутим максимална снага показује 2мА, што је невероватно, сада се сумња променила и појавиле су се друге:
    Да ли је МакПовер атрибут који подразумевано долази на уређају или у ОС?
    Да ли је то параметар максималне снаге коју ће испоручити усб порт?
    У случају да је параметар
    Да ли овај параметар може да се модификује и постави на максимум који додељује УСБ порт (900мАх- 3.0 / 500мАх- 2.0)?
    У случају да то није параметар,
    Да ли је то мерена вредност потрошње УСБ-а у реалном времену (мало вероватно)?
    Ако је то друга опција, молим вас објасните ми јер сумњам у референцијалне информације.

    Имам неколико недоумица у вези са овом МакПовер вредношћу, ако имате додатне информације, био бих вам веома захвалан.

    лсусб -в 2> / дев / нулл | егреп "^ Бус | МакПовер | бДевицеЦласс | иПродуцт"

    Сабирница 002 Уређај 006: ИД 1а86: 7523 КинХенг Елецтроницс ХЛ-340 УСБ-серијски адаптер
    бДевицеЦласс 255 Класа специфична за добављача
    иПродуцт 2 УСБ2.0-Сериал
    МакПовер 96мА
    Бус 002 Уређај 008: ИД 12д1: 14дб Хуавеи Тецхнологиес Цо., Лтд.
    бДевицеЦласс 2 комуникације
    иПродуцт 2 ХУАВЕИ_МОБИЛЕ
    МакПовер 2мА

  7.   анонимо дијо

    Може ли се применити на прозоре?

  8.   Цхело дијо

    Хвала пуно. Са искључењем удисксцтл -б / дев / сдц на мом спољном диску било је довољно да се реши главобоља. Зар не би било боље да демонтажа има могућност да то уради сама?

  9.   Мариса дијо

    Боже, који курац! Да ли је неко читао цео овај тестамент? И изнад плоче, још увек не знамо како да искључимо ДАЦ / УСБ звучни интерфејс, штампач, графички таблет ... укратко, ништа што није шиљак или спољни диск. Какво губљење времена ...