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

USB Wifi OpenWRT Docker

 , , ,


0

2

Всех приветствую. Решил превратить дохлый ноут в подобие роутера. Накатил suseLeap 15 и решил развернуть OpenWRT в Docker. Собственно все работает кроме WiFi, который из под контейнера в упор не видно (причем ни одну из трех карт, в т.ч. встроенную). Контейнер с флагом –priveleged. В самой OpenWRT поставил все необходимые прошивки для чипсета rt28xx/rt30xx:

# lsmod | grep rt28
rt2800usb              28672  0
rt2x00usb              28672  1 rt2800usb
rt2800lib             139264  1 rt2800usb
rt2x00lib              69632  3 rt2800usb,rt2x00usb,rt2800lib
mac80211             1200128  4 iwldvm,rt2x00lib,rt2x00usb,rt2800lib
usbcore               331776  9 rt2800usb,ehci_pci,usbhid,usb_storage,uvcvideo,ehci_hcd,uas,rt2x00usb
# dmesg | grep rt28
[   21.858465][  T514] usbcore: registered new interface driver rt2800usb
[   21.892140][  T522] rt2800usb 2-1.1:1.0 wlan2: renamed from wlan1
[   33.687036][ T1257] ieee80211 phy1: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[  760.756562][ T2506] rt2800usb 2-1.1:1.0 wlan2: renamed from wlan1
[  760.784188][ T2409] ieee80211 phy2: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[ 1159.487675][ T1257] ieee80211 phy3: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[ 2695.247187][ T1257] ieee80211 phy4: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[ 4575.831692][T19688] ieee80211 phy5: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[10143.017661][T11818] rt2800lib: module_layout: kernel tainted.
[10143.017672][T11818] rt2800lib: version magic '5.15.147 SMP mod_unload ' should be '5.14.21-150500.55.49-default SMP preempt mod_unload modversions '
[10184.891922][T19688] ieee80211 phy6: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'

Реализуемо ли вообще такое с контейнером?


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

Чем принципиально различается способ взаимодействия с железом контейнера и обычного chroot?

Из того что на ум приходит сразу - это capability и namespace.

Если нужно рулить именно wi-fi интерфейсом из контейнера - начни с запуска контейнера с опцией --net=host

Скорее всего придется докинуть CAP_NET_ADMIN, но это по ходу пьесы будет ясно

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

Логично, т.к. OpenWRT настраивает сеть под себя. Либо переноси все сетевые настройки в OpenWRT, либо настраивай Wi-Fi в хостовой системе и давай доступ к нему контейнеру через стандартный veth-интерфейс

Подсказка: в OpenWRT можно создать т.н. unmanaged интерфейсы - и тогда он их не будет трогать.

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