Ich bin ein Taucher und stolzer Besitzer von 2 Tauchcomputern. Diese beiden können an einen USB-Port angeschlossen werden und mit Linus 'SubSurface Divinglog-Programm kann ich Tauchprotokolle von ihnen importieren. Einer ist ein Atomic Aquatics Cobalt und der andere ist ein Suunto D4i. Jetzt möchte ich mit udev Dev-Dateien für jede von ihnen erstellen, damit ich sie an jeden USB-Port anschließen und immer noch dieselbe Dev-Datei in der Protokollierungssoftware verwenden kann. (ZB / dev / my_cobalt und / dev / my_d4i)
Für beide wird dieselbe (Art von) Konfiguration verwendet.
Für den D4i wird die Verwendung der dev-Datei durch ein automatisch erstelltes / dev / ttyUSB0 blockiert.
Für beide Tauchcomputer wird die dev-Datei erstellt und für den Cobalt funktioniert alles wie gewünscht, aber nicht für den D4i.
Ich kann / dev / ttyUSB0 verwenden, aber nicht / dev / my_d4i.
Irgendwie scheint es (da bin ich mir nicht sicher), dass sie sich anders auf dem USB-Bus präsentieren. Siehe die Ausgabe von lsusb weiter unten.
Wenn mir jemand sagen kann, was diesen Unterschied verursacht und / oder wie ich ihn lösen kann, wäre ich sehr dankbar. (Warum wird beim Anschließen des d4i auch eine ttyUSB-dev-Datei erstellt?)
Nachfolgend finden Sie einige Informationen zu den Ergebnissen / Einstellungen.
/etc/udev/rules.d/dive-computers.rules
# My Cobalt2 DiveComputer
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", ATTR{idProduct}=="0888", SYMLINK+="my_cobalt", GROUP="dialout", MODE="0660"
# My Suunto D4i DiveComputer
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", SYMLINK+="my_d4i", GROUP="dialout", MODE="0660"
dev-files nach dem verbinden von Cobalt
lrwxrwxrwx 1 root root 15 mei 16 23:13 my_cobalt -> bus/usb/003/007
# no ttyUSB0 created
dev-files nach dem verbinden von d4i
lrwxrwxrwx 1 root root 15 mei 16 23:15 my_d4i -> bus/usb/003/009
crw-rw---- 1 root dialout 188, 0 mei 16 23:15 ttyUSB0
lsusb -v -D / dev / bus / usb / 003/007 (Kobalt)
Gerät: ID 0471: 0888 Philips (oder NXP) Hantek DDS-3005 Arbitrary Waveform Generator Gerätebeschreibung: bLänge 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 220 Diagnostic bDeviceSubClass 1 Reprogrammierbare Diagnose bDeviceProtocol 1 USB2-Konformität bMaxPacketSize0 16 idVendor 0x0471 Philips (oder NXP) idProduct 0x0888 Hantek DDS-3005 Arbitrary Waveform Generator bcdDevice 0.02 iManufacturer 1 ATOMIC AQUATICS iProduct 2 COBALT iSerial 3 123456789ABCDEF bAnzahlKonfigurationen 1 Konfigurationsdeskriptor: bLänge 9 bDescriptorType 2 Gesamtlänge 39 bNumInterfaces 1 bKonfigurationswert 1 iConfiguration 4-Konsole bmAttributes 0xe0 Selbstversorgt Remote Wakeup MaxPower 500mA Schnittstellendeskriptor: bLänge 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bAnzahlEndpunkte 3 bInterfaceClass 220-Diagnose bInterfaceSubClass 160 bInterfaceProtocol 176 iInterface 0 Endpunkt-Deskriptor: bLänge 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Übertragungsart Bulk Synchronisationstyp Keine Verwendungsart Daten wMaxPacketSize 0x0040 1x 64 Bytes bIntervall 0 Endpunkt-Deskriptor: bLänge 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Übertragungsart Bulk Synchronisationstyp Keine Verwendungsart Daten wMaxPacketSize 0x0040 1x 64 Bytes bIntervall 0 Endpunkt-Deskriptor: bLänge 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Übertragungsart Bulk Synchronisationstyp Keine Verwendungsart Daten wMaxPacketSize 0x0040 1x 64 Bytes bIntervall 0 Gerätestatus: 0x0101 Selbstversorgt
lsusb -v -D / dev / bus / usb / 003/009 (D4i)
Gerät: ID 0403: 6001 FT232 USB-Serial (UART) IC von Future Technology Devices International, Ltd. Gerätebeschreibung: bLänge 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (auf Schnittstellenebene definiert) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0403 Future Technology Devices International, Ltd idProduct 0x6001 FT232 USB-Serial (UART) IC bcdDevice 6.00 iManufacturer 1 Smartinterface iProduct 2 USB-serielles Kabel iSerial 3 DiYISDGK bAnzahlKonfigurationen 1 Konfigurationsdeskriptor: bLänge 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bKonfigurationswert 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Schnittstellendeskriptor: bLänge 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bAnzahlEndpunkte 2 bInterfaceClass 255 Herstellerspezifische Klasse bInterfaceSubClass 255 Herstellerspezifische Unterklasse bInterfaceProtocol 255 Herstellerspezifisches Protokoll iInterface 2 USB Serial Cable Endpunkt-Deskriptor: bLänge 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Übertragungsart Bulk Synchronisationstyp Keine Verwendungsart Daten wMaxPacketSize 0x0040 1x 64 Bytes bIntervall 0 Endpunkt-Deskriptor: bLänge 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Übertragungsart Bulk Synchronisationstyp Keine Verwendungsart Daten wMaxPacketSize 0x0040 1x 64 Bytes bIntervall 0 Gerätestatus: 0x0000 (Bus Powered)
Protokollierung der Software (für was es sich lohnt)
Download von / dev / my_d4i starten Starten des Threads 0 [0.000126] FEHLER: Ungeeignete Ioctl für Gerät (25) [in ../../src/serial_posix.c:308 (dc_serial_open)] [0.000156] FEHLER: Der serielle Anschluss konnte nicht geöffnet werden. [in ../../src/suunto_d9.c:155 (suunto_d9_device_open)] INFO: dc_deveice_open Fehlerwert von -6 Beenden des Threads% s% s (% s) heruntergeladene Tauchgänge können nicht geöffnet werden 0 Download von / dev / ttyUSB0 starten Starten des Threads 0 INFO: dc_deveice_open Fehlerwert von 0 Beenden der heruntergeladenen Thread-Tauchgänge 0