Sziasztok!
Foglalkoznék egy CDC-ACM eszközzel, ami Linux alatt /dev/ttyACMx-ként jön létre.
A problémám, hogy, ha nem nyitom meg a portot 1-2 másodpercen belül, akkor valami ráül és nem engedi el cirka 20 másodpercig (nem mértem).
Emlékeim szerint az usb_modeswitch csinál ilyet, hogy az USB-s modemeket átváltsa driver telepítésből modem üzemmódra.
Megpróbáltam ezt az usb_modeswitch-et konfigban letiltani, majd el is távolítottam, de a viselkedés nem változott.
Ha magam nyitom meg a portot, akkor "ps -ef |grep ttyACM0" vagy "lsof +D /dev | grep ttyACM0" kiadásakor látom, hogy mi nyitotta meg.
Amikor csatlakoztatom az USB eszközt és a cat "Device or resource busy" üzenettel tér vissza, akkor a fenti parancs lefuttatására nem jön eredmény.
Mi foghatja még a CDC-ACM soros portot az USB eszköz csatlakoztatását követően?
Kezd eléggé hátráltatni és szeretnék megszabadulni ettől a viselkedéstől.
A rendszer Debian 9.
Van ötletetek, mi csinálja ezt?
Hozzászólások
Nekem Linux Mint alatt volt hasonló, ott a hálózatkezelésért felelős GUI-s applikáció keverte a dolgokat, mert AT parancsokkal azt tesztelgette, hogy él-e rajta bármilyen soros / usb modem.
Milyen környezetet használsz?
KDE-t.
Lehet, hogy a Network Manager szórakozik amúgy kikapcsolt WWAN hálózat mellett?
Van a gépben egy LTE modem, de csak akkor engedélyezem, ha használni is akarom.
Azt mondjuk nem értem, miért nem látom a megnyitott "fájlok" között...
sudo apt-get remove --purge modemmanager
Köszönöm, ez volt az.
Már csak az a problémám vele, hogy ezt eltávolítva a beépített LTE modem is eltűnt a Network Manager-ből (mármint maga a modem aktiválás).
Visszatettem, most valamiért nem ül rá a vonalra - gondolom, újraindításig.
Nem is tudom, miért nem csak akkor próbál ráugrani a modemnek látszó dolgokra, ha engedélyezve vannak a WWAN eszközök...
Mivel használom időnként az LTE modemet a gépben, a modemmanager eltávolítása nem a legideálisabb opció.
Ettől függetlenül viszont zavaró tud lenni, ha az ember más eszközöket is használna (pl. USB / CDC-ACM kommunikációt tesztelne vagy használna) és ez a jószág minden csatlakoztatásnál ráül a vonalra egy darabig...
Ideiglenes kikapcsolás:
systemctl stop ModemManager.service
Visszakapcsolás:
systemctl start ModemManager.service
Visszakapcsolást követően, amint végzett a "modemek felderítésével", a Network Manager-ben megjelennek az ezzel kapcsolatos eszközök és kapcsolók.
Tehát USB modemek továbbra is használhatók maradnak a rendszeren.
itt van leiras hogy kell blacklistelni momdemmanagernek: https://linux-tips.com/t/prevent-modem-manager-to-capture-usb-serial-de…
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
Köszi, bár nekem blacklist helyett inkább whitelist tűnne ideálisnak. :)
Most egy USB fejlesztés kapcsán kezdett jobban zavarni, de más eszköznél is volt már vele gondom.