Üdv!
A problémám a következõ:
Van egy USB-n csatlakozó hardverem (giroszkóp) ami adatokat küld a linuxon futó (c-ben írt) programnak. A programban biztosan nincs hiba. (A giroszkópot gyártó cég küldte)
A program futásának kezdetén meg kell adni az eszköz nevét (elérési útvonalát). példaként oda is írja, hogy /dev/ttyS0 vagy /dev/ttyUSB0. A hardvert USB-n és COM porton keresztül is lehet csatlakoztatni, de nekem jobb lenne az USB. A gond az, hogy a /dev/ttyUSB0-ra azt írja, hogy nem megnyitható. Meg is néztem a fájlt, létezik, de nem megnyitható. A /dev/ttyS0 viszont megnyitható, de nem oda van csatlakoztatva az eszköz, ezért az nem jó.
usbview programmal meg is néztem a hardvert, és látja: ki is írja a gyártót és az adatait, de azt nem, hogy mi az elérési útvonala. Tudtok adni vmi ötletet, hogy hogyan lehetne csatlakoztani a hardvert vagy megtudni az elérési útvonalát?
Üdv:
Péter
- 1962 megtekintés
Hozzászólások
Jogok rendben vannak? Lehet valami jog nincs enegedélyezve.
- A hozzászóláshoz be kell jelentkezni
rendben vannak, rootként vagyok bejelentkezve.a fájl jogosultságai is jók
- A hozzászóláshoz be kell jelentkezni
Én usb-s com portot használok, valószinüleg ez is egy ilyet tartalamaz.
Emlékeim szerint nem tudtam megnyitni a soros port-ot vagyis a fájt adtam magamnak jogot hozzá. Mostmár megtudom.
Nekekm tökéletesen működik az USB-s soros port.
- A hozzászóláshoz be kell jelentkezni
Igen, egy virtuális soros port van benne, windows alatt is úgy ismeri fel
- A hozzászóláshoz be kell jelentkezni
Húzd ki, dugd vissza és a dmesg-ből az utolsó vonatkozó sorokat copyzd be.
Egy másik ötlet: gyári vagy saját kernelt használsz? Rendesen benne van az USB alrendszer? Gondolok most az USB-serial részre.
Ja meg ilyet is copyzz be: cat /proc/bus/usb/devices
Ha ezek megvannak, talán könnyebb lesz kideríteni.
- A hozzászóláshoz be kell jelentkezni
Hiba feltárásához még ajánlom az:
/sbin/lsusb
/sbin/lsusb -v -s [[bus]:][devnum]
és egyéb kapcsolós megoldásokat, eléggé sok infót ad az eszközről. Ha már itt sem látszik hogy milyen class akkor nem is lesz soros port.
Hogy lásd miröl is beszélek:
Bus 002 Device 003: ID 0557:2008 ATEN International Co., Ltd UC-232A Serial Port [pl2303]
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0557 ATEN International Co., Ltd
idProduct 0x2008 UC-232A Serial Port [pl2303]
bcdDevice 3.00
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000a 1x 10 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
- A hozzászóláshoz be kell jelentkezni
Mindenkinek köszönöm a segítséget!
A probléma megoldódott, végülis nem USB-n keresztül, hanem COM porton sikerült csatlakoztatni. (/dev/ttyS0)
Viszont találtam leírást az USB-s csatlakoztatásra is. A gond az volt, hogy az én 2.4-es kernelemhez kellett volna egy plusz modul. 2.6-os kerneltől állítólag működik automatikusan
- A hozzászóláshoz be kell jelentkezni
Nem akartam új topikot nyitni...
Nem teljesen az alaptéma szerinti problémával azonos gondom van.
Van egy kütyüm, amit USB-sen kell csatlakoztatni, van a
kommunikációhoz 2-3 könyvtár, a mintaprogramok lefordulnak
szépen. Látszólag történik is valami, valójában a programok
nem kommunikálnak a kütyüvel.
2.4.x-es kernel, hotplug megy, az lsusb ki is listázza a
hardvert. Azt gyanítom, hugy az udev körül van a gáz.
Hogyan is kell udev eszközöket csinálni 2.4.x (slack 10.2)
alatt?
Mi a különbség a hotplugin út és az udev út között?
(bocs, ha lámául kérdeztem)
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
Ha a cucc nem CDC class-ben van, szóval nem szabványos sorosportot emulál USB-n keresztül akkor a két problémának köze sincs egymáshoz.
Először ezt kellene kideritened hogy mi is az, mármint a gép szempontjából. Fentebb irtam parancsot ami kilistázza a cucc tulajdonságait, abból rá lehet jönni. Ha sorosport lenne belőle, akkor a megfelelő kernel vagy kernelmodul kell hozzá, ezt nem tudom mert nekem mind uj kernel van és megy rajta egyből, semmit nem kellett soha állítanom, betöltenem.
Szóval először deritsd ki hogy mégis hogy akar kommunikálni.
- A hozzászóláshoz be kell jelentkezni
köszi a választ. Mára azt hiszem befejezem, holnap folytatom a nyomozást.
Üdv mindenkinek: m.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
lsusb -vv kimenete az adott eszközre vonatkozóan:
Bus 004 Device 007: ID 3923:717a National Instruments Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x3923 National Instruments Corp.
idProduct 0x717a
bcdDevice 1.00
iManufacturer 1 National Instruments
iProduct 2 NI USB-6008
iSerial 3 012D990A
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 46
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 4
bInterfaceClass 0 (Defined at Interface level)
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 bytes 64 once
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 bytes 64 once
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 bytes 64 once
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 bytes 64 once
bInterval 5
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
igy ránézésre nem sorosport :)
de ajánom hozzá http://digital.ni.com/softlib.nsf/websearch/D08E63AA3D9B34E386256FF8006… linken taláható cuccot és telepítési leirást
- A hozzászóláshoz be kell jelentkezni
Köszi, átnézem, de mintha ezt a linket már láttam volna.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni