Ma / sys / bus / usb / taką samą strukturę we wszystkich dystrybucjach Linuksa

0

Przenoszę aplikację mono z systemu Windows na Linux. Aplikacja komunikuje się z zewnętrzną tablicą. Ta płyta jest widoczna jako trzy wirtualne porty szeregowe. Każda gra inną rolę.

Aplikacja automatycznie wykrywa te porty. Czy mogę polegać na strukturze i informacjach, /sys/bus/usb/tzn. Czy są one takie same w różnych dystrybucjach Linuksa?

P__J__
źródło

Odpowiedzi:

1

Tak, możesz polegać na tym, że struktura /sys/bus/usb/jest identyczna we wszystkich dystrybucjach, ponieważ opiera się ona tylko na jądrze i jest wystarczająco dojrzała, więc jest mało prawdopodobne, aby zmieniła się w przyszłych wersjach jądra (ale kto wie ...).

Jest to jednak niewłaściwe podejście do rozwiązania problemu. Prawidłowe podejście polega na dołączeniu do aplikacji niestandardowej udevreguły i upewnieniu się, że udevreguła ta jest kopiowana w odpowiednie miejsce (zwykle /etc/udev/rules.d, ale może to zależeć od dystrybucji. W razie wątpliwości pozwól użytkownikowi ją skonfigurować) podczas instalacji. udevReguła może następnie przypisać Linkes symboliczne (podobne do tych, które można zobaczyć w /dev/disks) do trzech urządzeń szeregowych, przy użyciu wszelkich informacji (np sprzedawca / ID urządzenia) identyfikuje jednoznacznie pokładzie. Twoje aplikacje powinny używać dowiązań symbolicznych.

W skrócie, możesz również użyć struktury drzewa usb, którą planowałeś zastosować do ryla. Zobacz udevadm info --attribute-walk ...listę właściwości dostępnych dla Twoich urządzeń.

reż
źródło
Robię to w ten sposób, ponieważ urządzenie jest używane przez osoby bez wiedzy informatycznej, dlatego staram się, aby było to „wolne od konfiguracji”. so it's unlikely to change in future kernel versions (but who knows...).jeśli to zmienią, zmienię aplikację :)
P__J__
Ludzie bez wiedzy IT używający Linuksa powinni nadal rozumieć, jak korzystać z systemu pakietów w swojej dystrybucji, i zwykle pakiety mają skrypty instalacyjne. Nie powiedziałeś, które informacje od /sys/bus/usbCiebie planujesz użyć, ale powinieneś również pamiętać, że wyliczenie węzłów głównych nie gwarantuje, że pozostaną identyczne w obu butach.
dniu
Iteruję po wszystkich urządzeniach i
szukam