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