LINUX.ORG.RU
ФорумAdmin

какая флэшка в каком порту сидит?

 ,


1

2

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

1) навтыкали флэшек в комп,
2) комп их форматнул,
3) примонтировал,
4) скопировал информацию из заранее подготовленной папки,
5) проверил (перечитал или хэш суммы файлов посчитал например),
6) включил через лпт-порт нужный светодиод (если все ок-зеленый, нет - красный).
7) и отмонтировал.
goto 1)

В связи с этим такой вопрос: как узнать,какая флэшка стоит в определенном порту?
нужно к порту привязать светодиод и определенно моргать им в зависимости от текущего состояния флэшки, парсить /var/log/syslog помоему не оч. хорошая идея !

( дистр. debian 7)

А какая разница, какая в каком?
Залилось — отмонтировал — светик погас на флешке

Goury ★★★★★
()

[offtop]
Следующий этап: механическая рука достает флешки из одного ящика, втыкает в USB-хабы, а уже записанные флешки вытаскивает и кладет в другой ящик ☺
[/offtop]

Можно действительно сделать модифицированный хаб: присобачить по светодиодику к каждому гнезду, управлялку на любом USB'шном микроконтроллере сделать, только один раз надо будет отождествить для udev'а именование портов хаба и нумерацию светодиодиков (скажем, написать скриптик, формирующий конфигурационный файл: запускаем скрипт, вставляем флешку поочередно в каждое гнездо слева-направо, как только светодиод загорится, вставляем в следующее гнездо).

// только вот не припомню, имеют ли все гнезда хаба свои собственные номера шин/устройств?

Eddy_Em ☆☆☆☆☆
()

Глянул у себя на кардридере. Он является устройством 2 шины 1, при подключении флешки порты однозначно нумеруются:

...
hub 2-1:1.0: debounce: port 2: total 100ms stable 100ms status 0x101
...
hub 2-1:1.0: debounce: port 6: total 100ms stable 100ms status 0x101
...
Так что однозначно можно при помощи udev рулить светодиодиками.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от andrew667

вот выдал lsusb Bus 001 Device 003: ID 13fe:4100 Kingston Technology Company Inc. но как понять, какой это из sdX ? как с помощью lsusb идентифицировать конкретный порт? там только идентификатор подключенных устройств, может ключики какие-то есть ?

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

Ага. вот собственно сюда и зашел за помошью.

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

не мигнет, а мигнет, среди двух десятков не заметишь

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

есть разница, при монтировании/отмонтировании питание на юсб не пропадает, оно вообще обычно чуть-ли не напрямую с блока идет, так что ничего не погаснет

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

«только вот не припомню, имеют ли все гнезда хаба свои собственные номера шин/устройств?» - ну может кто-то просветит (((

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

и? пока не понимаю как при отмонтировании среди двух десятков флэшек найти ту, которую отмонтировал, все будут гореть, т.к. питание отмонтированием не убрать

Vazovski
() автор топика

Взять отдельный хаб (порты там нумеруются), в udev скормить конфиг (который будет запускать скрипт). Скрипт может сделать всю работу. Написать на коленке утилитку висящую в трее/плазмойд или ещё что в бошку взбредёт. Запускаемый udev скрипт может через dbus/loopback или даже по сети в другой конец планеты сообщать буквально про всё. Можно индицировать куда больше, чем светодиодом, отображать развернутые отчёты об ошибках и т.д. Нет привязки к кастомным железкам (смерть которых для тебя обернётся банальной заменой, а не перепайкой). Расширяемость на высоте. Это дешевле, быстрее, проще и эффективнее.

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

VendorID\ProductID и соответствующие им /dev/s*** можно увидеть в dmegs.

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

dmesg

Еще можешь udevadm monitor запустить, чтобы все подробные сведения увидеть

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Vazovski

Светодиоды придется к каждому порту самостоятельно припаивать. И управлялку писать.

Готов сделать такую шабашку. Цена договорная.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Vazovski

Не просто отмонтировать, а именно программно извлечь. После отмонтирование можно примонтировать обратно, а после «извлечения» без перетыкания не обойтись. Не знаю, пропадает ли питание, но обмен данными точно должен прекратиться. На порядке бреда можно предложить поставить светодиод с большим резистором (чтобы не искажал сигнал) параллельно одной из линий данных USB такой полярностью, чтобы при отсутствии обмена данными он гас.

KivApple ★★★★★
()

echo -n «1-1.3.4» > /sys/bus/usb/drivers/usb/unbind

1-1.3.4 - адрес флешки, берётся из dmesg, оттуда же берётся серийник

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

Какой серийник? ТСу нужно просто втыкать толпу флешек, при подсоединении udev автоматом ее монтирует, стирает и заливает туда какую-нибудь фигню; а как зальет, надо дать знать, что флешку из гнезда номер N можно извлечь.

Наиболее удобное решение — взять большой USB-хаб (или даже несколько) портов на 16, около каждого порта впаять по красному и зеленому светодиоду + повесить управлялку на МК, которая от компьютера (скрипт записи) будет получать сигналы: зажечь красный светодиод №N (в начале копирования), потушить красный №N и зажечь зеленый №N (в конце копирования после отмонтирования) и потушить зеленый (после вытаскивания флехи — этим уже сам udev будет заниматься).

Скрипты пишутся за час-полтора. Схемка управления светодиодами рисуется тоже быстро. Чуть больше времени будет потрачено на сборку макета, написание кода и отладку. Но, думаю, вечеров за 5-10 можно все будет доделать до уровня работающего прототипа. А дальше можно китайцам партию из десятка тысяч штук заказать и торговать.

Eddy_Em ☆☆☆☆☆
()

Что вобще за способ распространения рекламы такой? первый раз слышу.

По теме - может светодиодная индикация не нужна, а просто на экран выводить, что не так? Имхо проще как раз распарсить, чем запилить хардварную реализацию этого. Мне было бы лень разводить и травить платку и т.д. Хотя задача кажется мне интересной, может и поборол бы свою лень.

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

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

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

сдвиговые резисторы и двухцветные светодиоды уже есть, как со скриптами разберусь - пойду за контроллерами и резисторами.

вот оно пока так

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

способ: заказываются дешёвые китайские флэшки с логотипом компании, на флэшки записываются разные pdf'ки - описание продукции, копия сайта вконце концов, и на различных выставках раздается, видимо вместо визиток и бумажной рекламы. на сколько способ продуктивный - сказать не могу, я только небольшая нудная часть этого процесса (запись флэшек).

экран не вариант. я предполагаю, что в итоге на вид это должна получится коробка с кучей гнез usb и светодиодами, двумя проводами (220 и сеть), и большой кнопкой «ВКЛ/ВЫКЛ» пользоваться этим будет девочка маркетолог, подготовила инфу - скинула на папку в сети, и начала втыкать флэшки, поглядывая на светодиоды.

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

for X in /sys/bus/usb/drivers/usb-storage/*/host*/target*/*:*; do
echo `ls «$X/block»` `cat «$X/model»` «$X»
done


благодарю, слегка переделать и будет четко видно, на каком юсб какая флэха сидит

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

Ох, ничего ж себе!

Я так понял, фирма ваша заказывает для себя специальные флешки. А нельзя ли их записывать сразу — на заводе-изготовителе?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

а что такого ? многие шариковые ручки со своим логотипом заказывают, из специального лишь логотип на корпусе, его вероятно уже где то здесь (удмуртия), печатают, а китайцам вряд-ли дело до нас будет - раз в квартал полсотни-сотня флэшек - это слишком мизерные обьемы

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