LINUX.ORG.RU
ФорумAdmin

Как узнать в какой порт вставлена флешка на сервере - в 2.0 или в 3.0 ?

 


1

1

Гуглил без результата. Например в этой теме не нашёл приемлемого решения: Как узнать к какому USB контроллеру подключено USB устройство (Флешка клавиатура мыш..) ?

Дано: флешка, неизвестно какая, 2.0 или 3.0. и вставлена в разъём тоже непонятно в какой 2.0 или 3.0.

Мне необходимо через консоль это выяснить. Желательно просто и явно, без использования костылей и надмозга.
Является ли вставленная флешка высокоскоростной 3.0 и вставлена ли она в соответствующий ей голубенький разъём?

★★★

Последнее исправление: hikikomori (всего исправлений: 1)

Ответ на: комментарий от Zhbert

Вот так всегда. Спросишь как а тебе по еврейски вопросом на вопрос. Вот за это «люблю» LOR. Обязательно расскажу зачем, когда подскажут как.

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

лучше описать задачу
мб есть другие способы решения

smilessss ★★★★★
()
Ответ на: комментарий от hikikomori

Просто твоя общая задача может решаться элементарно. Но ты вообразил себе невесть что, выдумал причины, разработал дурацкий план, вывел недостающие данные и теперь требуешь от нас предоставить их тебе.

А ведь со стороны твои запросы могут оказаться идиотскими.

Ну раз уж ты такой любитель прямых ответов, то держи: разница между 2 и 3 в скорости. Так что просто сделай dd сфлешки в /dev/null и посмотри какая она.

anonymous
()

Вопрос непонятен. Вернее почему он вообще возник. lsusb и grep bcdUSB уже запретили, что-ли?

Stanson ★★★★★
()
Ответ на: комментарий от hikikomori

Хорошо.
1. Смотришь выхлоп лсюсб, парсишь инет на предмет описания флешки, пишешь обработчик...
2. Смотришь скорость дд.

Тебе таки зачем? Анонимус выше верно сказал.

Zhbert ★★★★★
()
mike@asus:~$ lsusb | grep Kingston
Bus 002 Device 005: ID 0951:1666 Kingston Technology DataTraveler G4

Является ли вставленная флешка высокоскоростной 3.0

mike@asus:~$ sudo lsusb -vs 002:005 | grep SuperSpeed
  SuperSpeed USB Device Capability:
      Device can operate at SuperSpeed (5Gbps)

вставлена ли она в соответствующий ей голубенький разъём?

mike@asus:~$ sudo lsusb -vs 002:005 | grep bcdUSB
  bcdUSB               2.10
Mike_RM
()
Ответ на: комментарий от anonymous

О, люблю я такие ответы. Как еврейские, только развернутей, тут уже подискутировать можно, правда не о том, о чем надо.
«твои запросы могут оказаться идиотскими. „Вы всегда заранее людей за идиотов держите, анон? Специально для вас поясню, вы умный, вы мне поможете.

dd это долго и косвенный метод. Бывают быстрые 2.0 флешки и медленные 3.0, бывает китайское говно на котором 3.0 написано а внутри шинимахуйня бывает наводки на удлиняющем кабеле. В конце концов тестировать надо и на чтение и на запись, чего не хотелось бы, ведь на ней могут быть данные. В общем тестировать по скорости это последний вариант из рассматриваемых.

Увы, это ЛОР, и тут не могут просто взять и ответить, тут нужно обосновать и пояснить, как на районе. Окей.

Я вставил флешку вслепую, и не уверен, в какой именно разъём. Вместо того, чтобы лезть под стол, я хочу узнать из терминала usb 3 или 2 это. Флешки 2.0 и 3.0 на кольце, они внешне похожи. Компы могут меняться - я не могу запомнить и знать заранее где там 3.0.

Другая ситуация. ПК находится за тыщи км от меня и флешку вставляет идиот бухгалтер.


Вот я и подумал, а чего я буду мучаться, это всесильная консоль, пусть ядро само мне скажет что и куда воткнулось.

hikikomori ★★★
() автор топика
Ответ на: комментарий от Stanson
$ lsusb | grep King
Bus 002 Device 002: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2



Где здесь сказано какого формата флешка и вставлена в гнездо 2.0 или 3.0 она? Не предлагайте ещё в инет лезть по ID 0951:1666.

hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 1)
Ответ на: комментарий от Zhbert

И вы туда же) Не посылайте в инет, это не вариант. По одинаковым venpid 0951:1666 выскакивают разные модели флешек. Про зачем и скорость dd я анону уже пояснил. Читайте.

hikikomori ★★★
() автор топика
Ответ на: комментарий от Mike_RM

Спасибо, ну хоть первый нееврей в топике)

$ lsusb | grep Kingston
Bus 002 Device 002: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2

$ sudo lsusb -vs 0951:1666 | grep SuperSpeed
$ sudo lsusb -vs 0951:1666 
$ sudo lsusb -vs 002:005 # на всякий случай =)



Однако по -vs ID выхлопа никакого нет.

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

Поищи вокруг, у тебя похоже мозг вывалился. Засунь его обратно и man lsusb на предмет ключиков -v -s и -d и USB Specification на предмет поля bcdUSB в Device Descriptor. Ну и посмотри, какое значение оно имеет в твоих хабах и воткнутых в них девайсах.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от hikikomori

Мда.

Уважаемый, вам на венду обратно надо. Если уж даже пипец как разжёванный пример под свою ситуацию адаптировать не получается, то тут уже ничего не поможет.

Stanson ★★★★★
()
Ответ на: комментарий от annerleen

Так у тебя Bus 002 Device 002, нужно 002:002, а не 002;005

Это бесполезно. Он ща переткнёт её, Device поменяется и он опять ныть будет что ничего не работает.

Блин, почему на ЛОР не банят за тупость?

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

bcdUSB - единственное, что полезного сказали. Вам череп не жмёт? Мне кажется у вас повышенное внутричерепное давление. Спорить не буду, а то спровоцирую ещё инсульт и кровоизлияние в мозг, а вам покой нужен.

hikikomori ★★★
() автор топика
Ответ на: комментарий от annerleen

Спасибо! Но чем отличается $ sudo lsusb -s 002:002 от уже использовавшегося выше lsusb| grep King когда выхлоп у них одинаковый и не даёт требуемой информации?

Bus 002 Device 002: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

Тебе ведь указали что надо опцию "-v" добавлять для вывода всей информации.
bcdUSB - показывает стандарт разъема:

The bcdUSB field reports the highest version of USB the device supports. The value is in binary coded decimal with a format of 0xJJMN where JJ is the major version number, M is the minor version number and N is the sub minor version number. e.g. USB 2.0 is reported as 0x0200, USB 1.1 as 0x0110 and USB 1.0 as 0x0100.
wSpeedsSupported - показывает на каких стандартах может работать:
__le16 wSpeedSupported;
#define USB_LOW_SPEED_OPERATION		(1)	 /* Low speed operation */
#define USB_FULL_SPEED_OPERATION	(1 << 1) /* Full speed operation */
#define USB_HIGH_SPEED_OPERATION	(1 << 2) /* High speed operation */
#define USB_5GBPS_OPERATION		(1 << 3) /* Operation at 5Gbps */

V1KT0P ★★
()
Ответ на: комментарий от Stanson

Почему на ЛОР не банят за внутричерепное давление и хамство? Вас прямо-таки распирает. Выдыхайте, пройдите на процедуру, должно помочь: https://purrli.com

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

bcdUSB - единственное, что полезного сказали.

Увы, это тоже совершенно бесполезная информация для персонажа, который неспособен даже man lsusb почитать.

Вам череп не жмёт?

Ты чо, в натуре, рамсы попутал? Вотри там себе натурально мазь от геморроя, прежде чем с незнакомыми мужчинами такие базары вести.

Чтение документации к программам теперь считается чем-то сильно умным типа? :)

Мне кажется у вас повышенное внутричерепное давление.

Когда кажется - креститься надо.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от V1KT0P

Вот, спасибо, теперь понял.

$ lsusb | grep King
Bus 002 Device 002: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2

$ sudo lsusb -vs 002:002 | grep SuperSpeed
can't get debug descriptor: Resource temporarily unavailable
  SuperSpeed USB Device Capability:
      Device can operate at SuperSpeed (5Gbps)


А что это за вывод?
can't get debug descriptor: Resource temporarily unavailable

hikikomori ★★★
() автор топика
Ответ на: комментарий от Stanson

Какой вы забавный, но трепанация поможет. man lsusb я читал и ответа он не дал. Вообще бесят люди, любящие посылать читать маны. Они таким живым языком написаны, что придешь на форум за разъяснениями, а тебя обратно в маны, хе-хе, посылают. Рекурсия)

Я ответ от более вменяемых форумчан получил, я доволен. А Вы выдыхайте ;-)

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

Вообще бесят люди, любящие посылать читать маны.

Бгг. Это же отлично.

Я ответ от более вменяемых форумчан получил, я доволен.

Это где-то всего-лишь на полчасика, не переживай. Потом опять придёшь просить чтобы послали читать маны. :)

Stanson ★★★★★
()
Ответ на: комментарий от hikikomori

А что это за вывод?
can't get debug descriptor: Resource temporarily unavailable

Тут написано: «can't get debug descriptor: Resource temporarily unavailable».

i-rinat ★★★★★
()
Ответ на: комментарий от Stanson

Переживать не мне, вам надо. Внутричерепное давление это не шутки. Самоутверждайтесь с осторожностью )

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

А таки напрячься и наконец прочитать чо там в консольке написано - никак? :)

Не, всё связано, да - Дебильная тенденция

Похоже что Idiocracy был единственным пророческим фантастическим фильмом из всех снятых за всю ичторию кино.

Stanson ★★★★★
()
Ответ на: комментарий от hikikomori

can't get debug descriptor: Resource temporarily unavailable

Это что-то связанное с «USB2 debug devices», сомневаюсь что тебе это нужно:

static void do_debug(libusb_device_handle *fd)
{
	unsigned char buf[4];
	int ret;

	ret = usb_control_msg(fd,
			LIBUSB_ENDPOINT_IN | LIBUSB_REQUEST_TYPE_STANDARD | LIBUSB_RECIPIENT_DEVICE,
			LIBUSB_REQUEST_GET_DESCRIPTOR,
			USB_DT_DEBUG << 8, 0,
			buf, sizeof buf, CTRL_TIMEOUT);
	if (ret < 0 && errno != EPIPE)
		perror("can't get debug descriptor");

	/* some high speed devices are also "USB2 debug devices", meaning
	 * you can use them with some EHCI implementations as another kind
	 * of system debug channel:  like JTAG, RS232, or a console.
	 */
	if (ret != sizeof buf
			|| buf[0] != ret
			|| buf[1] != USB_DT_DEBUG)
		return;

	printf("Debug descriptor:\n"
	       "  bLength              %4u\n"
	       "  bDescriptorType      %4u\n"
	       "  bDebugInEndpoint     0x%02x\n"
	       "  bDebugOutEndpoint    0x%02x\n",
	       buf[0], buf[1],
	       buf[2], buf[3]);
}

V1KT0P ★★
()

Мне абсолютно нечего сказать по теме. Но очень интересно какая практическая задача.

dk-
()
Ответ на: комментарий от Stanson

И прочитал, и понял, но не благодаря вам и вашей, неприглядно характеризующей вас хамской манере общения с незнакомыми людьми.

hikikomori ★★★
() автор топика

lsusb -t не дает достаточно информации?

В моем случае, например, так:

rain@walkbook:~$ lsusb -t 
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 2: Dev 94, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 7: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 7: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
    |__ Port 8: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 9: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M



Контроллер с 3.0-портом, в который воткнута мышка.
Еще варианты: https://paste.ubuntu.com/p/rQMMGK4svt/ - флешка в том же порту; флешка + мышка в другом порту, 2 3.0-флешки. Т.е., контроллер, похоже, 3.0, но одна ветка работает в 2.0-режиме и на нее вешаются внутренние девайсы + наружные 2.0.

YAR ★★★★★
()
Последнее исправление: YAR (всего исправлений: 1)
Ответ на: комментарий от YAR

lsusb -t

Плюсую, он в последнем столбце показывает фактическую скорость линка для каждого конкретного девайса.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.