Доброго дня.
Есть настроенный сервер с Debian 6
#uname -a
#Linux server-1 2.6.32-5-686 #1 SMP Mon Jan 16 16:04:25 UTC 2012 i686 GNU/Linux
к нему подключены USB-модемы, и настроен udev правилом:
#cat /etc/udev/rules.d/10-ZTE.rules
SUBSYSTEM=="tty", KERNELS=="1-5.1:1.2", NAME="hub1/modem1"
SUBSYSTEM=="tty", KERNELS=="1-5.2:1.2", NAME="hub1/modem2"
соответственно есть:
# ll /dev/hub1/
total 0
drwxr-xr-x 2 root root 160 Jan 8 19:17 .
drwxr-xr-x 17 root root 3.4K Jan 8 19:17 ..
crw-rw---- 1 root dialout 188, 3 Jan 8 19:17 modem1
crw-rw---- 1 root dialout 188, 7 Jan 8 18:37 modem2теперь на таком же железе, но на Debian 7 (test) с ядром 3.8 хочу сделать тоже самое:
# uname -a
Linux server-2 3.8.2 #1 SMP Tue Apr 2 19:58:54 CEST 2013 i686 GNU/Linux
# cat /etc/udev/rules.d/10-ZTE.rules
SUBSYSTEM=="tty", KERNELS=="1-9.5:1.2", NAME="hub1/modem1"
SUBSYSTEM=="tty", KERNELS=="1-9.5:2.2", NAME="hub1/modem2"и вот не появляются устройства в /dev/
сами модемы ищу вот так: watch "dmesg | tail -55".
Что не так? спасибо.
там как-то можно запустить дебаг получение всех событий, происходящих с udev в момент подключения - поиска устройства, нужно посмотреть, сравнить с вашими правилами, посмотреть чего оно там вообще делает. наверное нужно дебажить.
> там как-то можно запустить дебаг получение всех событий, происходящих с udev в
> момент подключения - поиска устройства, нужно посмотреть, сравнить с вашими правилами,
> посмотреть чего оно там вообще делает. наверное нужно дебажить.а как запустить дебаг? я в Linux не особо много знаю. Я думал, там в udev.conf можно указать куда логи писать, но не нашёл там такой строчки... там вообще только:
cat /etc/udev/udev.conf
# The initial syslog(3) priority: "err", "info", "debug" or its
# numerical equivalent. For runtime debugging, the daemons internal
# state can be changed with: "udevadm control --log-priority=<value>".
#
# udevd is started in the initramfs, so when this file is modified the
# initramfs should be rebuilt.
udev_log="err"нашёл вот это:
udev_log="debug" - но где потом смотреть дебаг?
>[оверквотинг удален]
> # The initial syslog(3) priority: "err", "info", "debug" or its
> # numerical equivalent. For runtime debugging, the daemons internal
> # state can be changed with: "udevadm control --log-priority=<value>".
> #
> # udevd is started in the initramfs, so when this file is
> modified the
> # initramfs should be rebuilt.
> udev_log="err"
> нашёл вот это:
> udev_log="debug" - но где потом смотреть дебаг?достоверно не помню, давно развлекался да и не часто это требуется.
возможно полезным будет
udevadm info
udevadm monitor
> достоверно не помню, давно развлекался да и не часто это требуется.
> возможно полезным будет
> udevadm info
> udevadm monitorвот что показал монитор, при удалении и добавлении одного модема:
~# udevadm monitor
custom logging function 0x8c8e008 registered
selinux=0
runtime dir '/run/udev'
calling: monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel ueventKERNEL[584.501995] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0/ttyUSB0/tty/ttyUSB0 (tty)
KERNEL[584.502048] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0/ttyUSB0 (usb-serial)
KERNEL[584.502084] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0 (usb)
KERNEL[584.502110] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1/ttyUSB1/tty/ttyUSB1 (tty)
KERNEL[584.502133] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1/ttyUSB1 (usb-serial)
KERNEL[584.502159] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1 (usb)
KERNEL[584.504141] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2/ttyUSB2/tty/ttyUSB2 (tty)
KERNEL[584.504188] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2/ttyUSB2 (usb-serial)
KERNEL[584.504389] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2 (usb)
KERNEL[584.504428] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1 (usb)
UDEV [584.521170] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0/ttyUSB0/tty/ttyUSB0 (tty)
UDEV [584.522291] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1/ttyUSB1/tty/ttyUSB1 (tty)
UDEV [584.524177] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0/ttyUSB0 (usb-serial)
UDEV [584.525477] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1/ttyUSB1 (usb-serial)
UDEV [584.526858] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0 (usb)
UDEV [584.528148] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1 (usb)
UDEV [584.534746] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2/ttyUSB2/tty/ttyUSB2 (tty)
UDEV [584.535876] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2/ttyUSB2 (usb-serial)
UDEV [584.537052] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2 (usb)
UDEV [584.538567] remove /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1 (usb)
KERNEL[596.063544] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1 (usb)
KERNEL[596.065027] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0 (usb)
KERNEL[596.065071] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0/ttyUSB0 (usb-serial)
KERNEL[596.065380] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0/ttyUSB0/tty/ttyUSB0 (tty)
KERNEL[596.065413] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1 (usb)
KERNEL[596.065434] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1/ttyUSB1 (usb-serial)
KERNEL[596.065778] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1/ttyUSB1/tty/ttyUSB1 (tty)
KERNEL[596.065811] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2 (usb)
KERNEL[596.065833] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2/ttyUSB2 (usb-serial)
KERNEL[596.066208] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2/ttyUSB2/tty/ttyUSB2 (tty)
UDEV [596.069989] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1 (usb)
UDEV [596.081621] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0 (usb)
UDEV [596.083313] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0/ttyUSB0 (usb-serial)
UDEV [596.089470] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1 (usb)
UDEV [596.091107] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1/ttyUSB1 (usb-serial)
UDEV [596.102447] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2 (usb)
UDEV [596.104141] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2/ttyUSB2 (usb-serial)
UDEV [596.155577] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.0/ttyUSB0/tty/ttyUSB0 (tty)
UDEV [596.164648] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.1/ttyUSB1/tty/ttyUSB1 (tty)
UDEV [596.168897] add /devices/pci0000:00/0000:00:1d.7/usb9/9-5/9-5.1/9-5.1:1.2/ttyUSB2/tty/ttyUSB2 (tty)ничего о моём правиле ( сейчас запущу на рабочем сервере.
на рабочем сервере тоже самое. ни слова о правиле и /dev/hub1/modem1
> ничего о моём правиле ( сейчас запущу на рабочем сервере.Патамуша в твоем правеле написано usb1, а в логе usb9!
Тыкай во все дыры ищи usb1 :D
---
#cat /etc/udev/rules.d/10-ZTE-PLX.rulesSUBSYSTEM=="tty", KERNEL=="ttyUSB0", GROUP="tty", MODE="0660", NAME="hub1/modem0"
SUBSYSTEM=="tty", KERNEL=="ttyUSB1", GROUP="tty", MODE="0660", NAME="hub1/modem1"
SUBSYSTEM=="tty", KERNEL=="ttyUSB2", GROUP="tty", MODE="0660", NAME="hub1/modem2"--
Ну и глупый вопрос - чем /dev/ttyUSB* нефеншуит?
>> ничего о моём правиле ( сейчас запущу на рабочем сервере.
> Патамуша в твоем правеле написано usb1, а в логе usb9!
> Тыкай во все дыры ищи usb1 :DСпасибо, добрый человек. Переписал правило:
cat /etc/udev/rules.d/10-ZTE.rules
SUBSYSTEM=="tty", KERNELS=="9-5.1:1.2", NAME="hub1/modem1"
SUBSYSTEM=="tty", KERNELS=="9-5.2:1.2", NAME="hub1/modem2"всё на месте:
ls /dev/hub*
/dev/hub1:
modem1 modem2 modem3 modem4 modem5 modem6 modem7/dev/hub2:
modem1 modem2 modem3 modem4 modem5 modem6 modem7/dev/hub3:
modem1 modem2 modem3 modem4 modem5 modem6 modem7
> --
> Ну и глупый вопрос - чем /dev/ttyUSB* нефеншуит?ну если бы после перетычки у модема оставался его номер - то всё работает, но вот модемы после перетычки имеют свойство называться разными ttyUSB№.
По этому модем 1 после перетычки может стать ttyUSB42, где у меня был другой модем. как видите, их у меня несколько.
>> Ну и глупый вопрос - чем /dev/ttyUSB* нефеншуит?
> ну если бы после перетычки у модема оставался его номер - то
> всё работает, но вот модемы после перетычки имеют свойство называться разными
> ttyUSB№. По этому модем 1 после перетычки может стать ttyUSB42, где у меня
> был другой модем. как видите, их у меня несколько.Это понятно, но привязка модема к USB-endpoint, как-то не то.
Хотя,.... воткнул в 3-дырку и сразу ясно, что канал на 3-й офис, во вторую - бухгалтерия,...