Launchpad ja Linux

Onko kukaan saanut luettua Linuxissa dataa sarjaportin kautta launchpadista? Eli kun tökkään launchpadin kiinni koneeseen niin lsusb näyttää sen tunnistuneen oikein ja ttyACM0 laitetiedosto ilmestyy /dev kansioon, mutta kun yritän yhdistää siihen:

antti@laptop:~$ stty 2400 -F /dev/ttyACM0 stty: /dev/ttyACM0: Input/output error
Launchpadissä pyörii se oletussofta minkä pitäisi tunkea lämpötiladataa sarjaportista, eli sillä puolella kaikki on ok. Olen kokeillut Ubuntu 10.10:ssa ja Archissa joissa kummassakin sama ongelma.

dmesg kertoo seuraavaa:

[ 252.110171] usb 3-2: new full speed USB device using ohci_hcd and address 3 [ 262.382326] /build/buildd/linux-2.6.35/drivers/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed [ 262.382422] generic-usb 0003:0451:F432.0002: timeout initializing reports [ 262.383494] generic-usb 0003:0451:F432.0002: hiddev96,hidraw1: USB HID v1.01 Device [Texas Instruments Texas Instruments MSP-FET430UIF] on usb-0000:00:12.0-2/input1 [ 262.384138] cdc_acm 3-2:1.0: This device cannot do calls on its own. It is not a modem. [ 262.384161] cdc_acm 3-2:1.0: No union descriptor, testing for castrated device [ 262.384582] cdc_acm 3-2:1.0: ttyACM0: USB ACM device [ 262.392230] usbcore: registered new interface driver cdc_acm [ 262.392230] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters [ 290.251552] tty_port_close_start: tty->count = 1 port count = 0.

lsusb -v -d 0451:f432

Bus 003 Device 003: ID 0451:f432 Texas Instruments, Inc. eZ430 Development Tool Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0451 Texas Instruments, Inc. idProduct 0xf432 eZ430 Development Tool bcdDevice 1.00 iManufacturer 1 iProduct 2 iSerial 3 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 85 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 1 AT-commands (v.25ter) iInterface 5 CDC Header: bcdCDC 1.10 CDC Call Management: bmCapabilities 0x00 bDataInterface 0 CDC ACM: bmCapabilities 0x02 line coding and serial state Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 255 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 255 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 255 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 4 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.01 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 694 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 cannot read device status, Connection timed out (110)

Mitäs sanoo id ja ls -l /dev/ttyACM0

Itsellä ensimmäisestä sarjaportista:

$ ls -l /dev/ttyS0 crw-rw---- 1 root uucp 4, 64 24.10. 16:39 /dev/ttyS0
ja id mainitsee minut ryhmässä (14)uucp. Jos tämä on ongelma wiki.archlinux.org/index.php/Groups kertoo # gpasswd -a [user] [group]

screen /dev/ttyACM0

toi on toiminut itselläni ja screenin tappo sit ctrl+a+k

antti@laptop:~$ ls -l /dev/ttyACM0 crw-rw---- 1 root plugdev 166, 0 2010-11-27 21:21 /dev/ttyACM0
ja

uid=1000(antti) gid=1000(antti) groups=1000(antti),4(adm),20(dialout),24(cdrom),46(plugdev),105(lpadmin),119(admin),122(sambashare),1001(sbox)

ovat käsittääkseni ihan oikein? Kokeilin tuota vielä roottina, mutta sama virhe edelleen.

screen /dev/ttyACM0 Cannot open line '/dev/ttyACM0' for R/W: Input/output error

Tuonne dmesgin (t)ulosteeseen tulee aina lisää noita
tty_port_close_start: tty->count = 1 port count = 0.
ton I/O errorin jälkeen.

Edit. Nyt sain sen jopa toimimaan räpläämällä sitä usb porttiin kiinni ja pois tarpeeksi monta kertaa… ainakin hetkeksi kunnes dmesg näyttää

generic-usb: probe of 0003:0451:F432.000F failed with error -110

Tämä on nyt varmaankin jokin tuon Launchpadista löytyvät usb 3410 piirin ajuriongelma, koska wiresharkilla tarkkailtaessa mitään dataa ei kulje usb:n väylästä kun tuota erroria tulee. Googlella löysin vähän viitteitä siitä muillakin on tämän kanssa ongelmia esiintynyt…

Ehkä löysit tämän kolme päivää vanhan postauksen:
http://e2e.ti.com/support/microcontrollers/msp43016-bit_ultra-low_power_mcus/f/166/t/65745.aspx Tuota voisi pitää silmällä.

Oma käsitykseni on, että jostain kumman syystä launchpadi irrottaa tai irrotuttaaitsensä ja sitten se probettuu jotenkin hassusti uudellen.

USB:stä en ymmärrä kuin, että se on hassu. Puhuu 3 volttia, syöttää 5 volttia ja näyttää ihan liian monen näköiseltä liittimeltä.

nyt tarvis pikaisen vastauksen tähän.

ubuntu 10.04 käytän ja kaikki muu on nyt onnistunut mutta jäin tuohon kohtaan jossa main.c pitäisi kääntää sanoo näin

Makefile:18: *** puuttuva erotin (ehkä tarkoitit sarkainta eikä kahdeksaa välilyöntiä?). Seis.

APUVA!

edit: toinen kyssäri on että voiko tuota lämpötila demo ohjelman lämpötilaa saada koneen näytölle?

Sulla on Makefilessä jotain häikkää. Veikkaukseni on, että olet käpistellyt sitä jollain editorilla, joka on muuttanut tabulaattorin rivin alusta välilyönneiksi. Tai sitten jotain ihan muuta. rivi 18 on syyllinen.

Johonkin sarjaporttiin se lämpötiladata valuu, joten kyllä sen sieltä voi lukea. Esimerkiksi puttyllä terminaali auki /dev/tty/ACM0 tms. Tarttis itse kokeilla kanssa jossain vaiheessa ja alkaa tutustumaan :slight_smile:

joo sain korjattua nuo tabulaattori jutut mutta törmäsin seuraavaan ongelmaan

msp430-gcc -O0 -Wall -g -mmcu=msp430x2012 -ffunction-sections -fdata-sections -fno-inline-small-functions -c main.c make: msp430-gcc: Komentoa ei löytynyt make: *** [main.o] Virhe 127

Joko et ole asentanut msp430-gcc:tä tai (todennäköisemmin) et ole lisännyt sen sisältävää kansiota pathiin.

export PATH=${PATH}:/opt/msp430-gcc-4.4.4/bin

Aja tuo tai lisää se .bashrc -tiedoston loppuun ja käynnistä komentokehote uusiksi. Olettaen toki, että olet asentanut kääntäjän oletuspaikkaansa.

toi on tehty ja en nyt ymmärrä mikä mättää. kaikki on tehty tuon laurin kirjoittaman ohjeen mukaan mutta ei silti toimi.

yhteyden saaminen launchpadiin onnistuu mutta ei tuo koodin kääntäminen :confused: