LINUX.ORG.RU
решено ФорумAdmin

lxc: проброс usb

 ,


0

2

Вечер в хату посоны!мальчики привет! Помогите, пожалуйста, пробросить lte свисток в lxc. В конфиге контейнера задаю, кмк, самые широкие права по пробросу всех устройств:

...
lxc.cgroup.devices.allow = c *:* rwm
lxc.mount.entry = /dev/bus/usb dev/bus/usb none bind,optional,create=dir
...

и таки они все какбы появляются в контейнере, однако «не полностью»: на хосте:

[∞@α:/var/lib/lxc/lxctest3]# udevadm info /dev/ttyUSB0
P: /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8:1.0/ttyUSB0/tty/ttyUSB0
N: ttyUSB0
S: serial/by-id/usb-HUAWEI_MOBILE_HUAWEI_MOBILE-if00-port0
S: serial/by-path/pci-0000:00:1d.0-usb-0:1.8:1.0-port0
E: DEVLINKS=/dev/serial/by-id/usb-HUAWEI_MOBILE_HUAWEI_MOBILE-if00-port0 /dev/serial/by-path/pci-0000:00:1d.0-usb-0:1.8:1.0-port0
E: DEVNAME=/dev/ttyUSB0
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8:1.0/ttyUSB0/tty/ttyUSB0
E: ID_BUS=usb
E: ID_MM_CANDIDATE=1
E: ID_MODEL=HUAWEI_MOBILE
E: ID_MODEL_ENC=HUAWEI_MOBILE
E: ID_MODEL_FROM_DATABASE=Modem/Networkcard
E: ID_MODEL_ID=1506
E: ID_PATH=pci-0000:00:1d.0-usb-0:1.8:1.0
E: ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_8_1_0
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_INTERFACE_FROM_DATABASE=EHCI
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
E: ID_REVISION=0102
E: ID_SERIAL=HUAWEI_MOBILE_HUAWEI_MOBILE
E: ID_TYPE=generic
E: ID_USB_DRIVER=option
E: ID_USB_INTERFACES=:ff0212:ff0201:ff0216:080650:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=HUAWEI_MOBILE
E: ID_VENDOR_ENC=HUAWEI_MOBILE
E: ID_VENDOR_FROM_DATABASE=Huawei Technologies Co., Ltd.
E: ID_VENDOR_ID=12d1
E: MAJOR=188
E: MINOR=0
E: SUBSYSTEM=tty
E: TAGS=:systemd:
E: USEC_INITIALIZED=57777610863

в госте:
[root@lxctest3 ~]# udevadm --debug info /dev/ttyUSB0
calling: info
P: /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8:1.0/ttyUSB0/tty/ttyUSB0
N: ttyUSB0
E: DEVNAME=/dev/ttyUSB0
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8:1.0/ttyUSB0/tty/ttyUSB0
E: MAJOR=188
E: MINOR=0
E: SUBSYSTEM=tty

чяднт? мерси

Lxc это контейнер, а не вм, поэтому туда ничего не пробрасывается, а просто разрешается доступ.

А в чем проблема то? ttyusb0 в контейнере не работает разве? То что там в удаве атрибутов меньше это не синоним проблемы.

blind_oracle ★★★★★ ()

∞@α

Это у тебя действительно такой юзернейм и хостнэйм? Месье знает толк в извращениях!

По теме. Из темы непонятно что собственно тебя не устраивает.
И пробрасывать в контейнер все устройства это очень плохая идея с точки рения безопасности. Почему-бы не пробросить только свисток? Это будет
lxc.cgroup.devices.allow = c 188:0 rwm
если я ничего не путаю. Хотя свисток может быть представлен как несколько девайсов (виртуальный CDROM и сам свисток). В общем могут быть какие-то тонкости.

MrClon ★★★★★ ()

еще lxc-device может помочь.

vel ★★★★★ ()

А в чем проблема то? ttyusb0 в контейнере не работает разве? То что там в удаве атрибутов меньше это не синоним проблемы.

проблема в том, что ModemManager не видит ничего (FC23 x86_64)

Это у тебя действительно такой юзернейм и хостнэйм?

оно ещё и цветное)

И пробрасывать в контейнер все устройства это очень плохая идея с точки рения безопасности. Почему-бы не пробросить только свисток?

проброс всего выполняется в целях отладки, но, как видно, чего-то не хватает, может ч-нить из /sys или /proc ?

еще lxc-device может помочь.

девайс добавляет, но udevadm не показывает полную информацию

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

зачем тебе udevadm ? Нужно чтоб устройство работало.

Есть проблема - это устройство может отвалиться и переехать на новое. Как тут быть - не знаю.

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

ttyUSB* передаётся, но ModemManager в упор не видит, что есть модем, ему чего-то не хватает, может чего-то из /sys? на госте он работает так:

ModemManager[410]: <debug> [1459766782.749417] [mm-base-manager.c:485] mm_base_manager_start(): Starting automatic device scan...
ModemManager[410]: <debug> [1459766782.761821] [mm-base-manager.c:524] mm_base_manager_start(): Finished device scan...

на хосте так:

ModemManager[20530]: <debug> [1459766822.202711] [mm-base-manager.c:485] mm_base_manager_start(): Starting automatic device scan...
ModemManager[20530]: <debug> [1459766822.212525] [mm-base-manager.c:524] mm_base_manager_start(): Finished device scan...
ModemManager[20530]: <debug> [1459766822.213488] [mm-plugin-manager.c:739] mm_plugin_manager_find_device_support(): (Plugin Manager) [/sys/devices/pci0000:00/
0000:00:1d.0/usb2/2-1/2-1.8] Checking device support...
...
ну и дальше сообщения о том, что нашёлся модем и завёлся 

hotbot ()
Ответ на: комментарий от vel

причём в контейнере /sys выглядит вроде нормально:

[root@lxctest3 2-1.8]# cat /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/product
HUAWEI_MOBILE

hotbot ()

up

этому ModemManager нужен systemd udevd, который в lxc не может работать из-за /sys=ro

welcome pppd

hotbot ()

Обычно эти свистки работают в двух режимах: накопитель и модем, тебе надо разрешить доступ к блочным устройствам
lxc.cgroup.devices.allow = b *:* m

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

спасибо, но ModemManager'у это не помогло, и вряд ли могло бы, т.к. (как выяснилось) ему для работы нужен systemd-udevd, который в контейнере не может работать (/sys смонтирован в ro), а pppd успешно завёл свисток как символьное(... c *:* m) устройство. просто не хотелось иметь дело с pppd

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