USB HID Device ..wie komme ich zu seriellem Port?

holm

Well-Known Member
Moin allerseits,

Ich habe hier einen Solar Wechselrichter der eine serielle Schnittstelle hat oder aber auch einen USB Port, allerdings ist der nicht dokumentiert und wird in einem australischen Forum das sich mit den Teilen beschäftigt als nicht funktionierend bezeichnet.
Es liegen wohl ganz einfach keine Treiber bei..

Das Teil meldet sich als
ugen0.2: <vendor 0x0665 product 0x5161> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)


bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0110
bDeviceClass = 0x0000 <Probed by interface class>
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0008
idVendor = 0x0665
idProduct = 0x5161
bcdDevice = 0x0002
iManufacturer = 0x0003 <retrieving string failed>
iProduct = 0x0001 <retrieving string failed>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001


Configuration index 0

bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0022
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x00a0
bMaxPower = 0x0032

Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0003 <HID device>
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>

Additional Descriptor

bLength = 0x09
bDescriptorType = 0x21
bDescriptorSubType = 0x11
RAW dump:
0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x1b,
0x08 | 0x00

Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x000c
bRefresh = 0x0000
bSynchAddress = 0x0000

Diverse Forschungen zu dem verwendeten SC510070JDME Chip verlaufen ziemlich im Sande, es gibt kein Datenblatt. Hier:
https://devicehunt.com/view/type/usb/vendor/0665 wird das Ding wie folgt gelistet:
USB0665Cypress Semiconductor5161USB to Serial

hybsch..allerdings scheint Vendor 0x0665 nicht der offizielle ID von Cypress zu sein. Hmm...
Ich habe ein 13.1 auf der Maschine und unter /usr/src/sys/dev/usb/usbdevs findet sich da ein Eintrag für Megatec mit 0x0665. Das dazu passende Device ist wohl eine UPS mit UID 0x5161. Ich habe mit ein Bisschen "suchmaschinen" herausgefunden das ich nicht der Einzige mit diesem Problem bin, wobei die Anderen sich wohl Gedanken um andere OS's machen und das der Chip wohl auch noch in einem Scanner benutzt wird. Es scheint sich also wohl um einen nicht allzu geläufigen Serial zu USB Wandler mit HID Interface zu handeln. Das traurige ist, das ich von USB wenig und von HID überhaupt keine Ahnung habe, außer der Tatsache das ich weiß das irgendwelche AVRs mittels HID auf einer seriellen Schnittstelle landen können.

Meine Frage wäre nun ob mir Jemand sagen kann wie ich das Ding handeln kann damit es auf einer /dev/cuaUxx greifbar wird? Ich möchte mir ne simple Auswertungssoftware für die Solargeschichte schreiben.

Vielen Dank im Voraus,
Holm
 
Moin, ein serieller port ist afaik kein HID.

Wenn das ding nen seriellen port hat, könntest du nicht einfach nen von FreeBSD unterstützte USB <-> RS232-Wandler nehmen und an die DB9 oä Buchse stecken?
 
Siehe < https://community.infineon.com/t5/P...press-USB-to-Serial-chip-on-Linux/td-p/123932 > Aber den Chip habe ich auf die Schnelle nicht rausgefunden. In diverse Chips kannst du beim Neuteil als USB ID reinschreiben was du willst. Damit kommst man danach ohne Rumkonfigurien nur noch über Spezialttreiber dran; somit sperrst du ohne viel Aufwand schon mal 95% der Leute aus, die nicht mit deiner Hersteller SW drauf wollen. Interessant ist, daß Cypress schreibt, daß es keine Cypress ID Kombination ist ( "the VID and PID you mention is not Cypress VID and PID." )
 
Zurück
Oben