Forum: Mikrocontroller und Digitale Elektronik eZ430-RF2500 unter Linux


von odic (Gast)


Lesenswert?

Hallo zusammen,

hat zufällig jemand von euch das eZ430-RF2500 erfolgreich unter Linux 
zum laufen gebracht??

Konkret:

- Der Stick mit dem F2013 läuft laut diversen Aussagen im Internet unter 
Linux. => ich versuche mich am eZ430-RF2500

- Mit dem TI-Treiber gab es wohl bis zu einer bestimmten Kernelversion 
(2.6.18 wenn ich mich recht erinnere) Probleme. => bei mir läuft aktuell 
2.6.24

- Bedingt durch den über USB auslesbaren Temperatursensor des F2274 hat 
sich wohl auch das eZ430 geändert, und wird daher vom Treiber nicht mehr 
korrekt erkannt. (http://kerneltrap.org/node/15941)


dmesg sagt mir nach einstecken des ez430-RF2500 folgendes:
1
usb 2-2: new full speed USB device using uhci_hcd and address 27
2
usb 2-2: configuration #1 chosen from 1 choice
3
drivers/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
4
drivers/hid/usbhid/hid-core.c: timeout initializing reports
5
hiddev96: USB HID v1.01 Device [Texas Instruments Texas Instruments MSP-FET430UIF] on usb-0000:00:1d.0-2
6
drivers/usb/class/cdc-acm.c: This device cannot do calls on its own. It is no modem.
7
usbcore: registered new interface driver cdc_acm
8
drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters


im syslog steht:
1
NetworkManager: <debug> [1211405731.145262] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_451_f432_99FF598CDEC6012F'). 
2
NetworkManager: <debug> [1211405731.659627] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial'). 
3
kernel: drivers/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
4
kernel: drivers/hid/usbhid/hid-core.c: timeout initializing reports
5
kernel: hiddev96: USB HID v1.01 Device [Texas Instruments Texas Instruments MSP-FET430UIF] on usb-0000:00:1d.0-2
6
kernel: drivers/usb/class/cdc-acm.c: This device cannot do calls on its own. It is no modem.
7
kernel: usbcore: registered new interface driver cdc_acm
8
kernel: drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters
9
NetworkManager: <debug> [1211405741.142495] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_451_f432_99FF598CDEC6012F_if0'). 
10
NetworkManager: <debug> [1211405741.592330] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_451_f432_99FF598CDEC6012F_usbraw').

Leider kenne ich mich mit den USB-Geschichten nicht wirklich aus. Ist 
vielleicht außer mir noch jemand auf das Problem gestoßen und - was noch 
besser wäre - konnte es lösen??

Vielen Dank für eure Mühe.


Beste Grüße,
odic

von odic (Gast)


Lesenswert?

Niemand da, der mir etwas unter die Arme greifen kann? Hab ich mir etwa 
mal wieder ein zu spezielles Problem an Land gezogen?? ;-)

Beste Grüße,
odic

von Claudiu C. (clau85)


Lesenswert?

Bist du weitergekommen? Ich habe nähmlich das gleiche Problem :(

von odic (Gast)


Lesenswert?

Leider nein, bin mittlerweile auf JTAG umgestiegen. Mit dem nötigen 
Zeiteinsatz läßt sich das Problem sicherlich beheben, allerdings bin ich 
nicht motiviert hier ettliche Stunden zu investieren...

von odic (Gast)


Lesenswert?


von Odic X. (odic)


Lesenswert?

So, melde gehorsamst: Mission erfolgreich ausgeführt! ;-)

Vorab an dieser Stelle besten Dank an Travis Goodspeed, dessen Blog bzw. 
dessen Unterstützung mir eine entscheidende Hilfe waren!

Also: wie bewegt man das neue eZ430U zur Zusammenarbeit mit Linux? 
Hierfür sind zwei Änderungen notwendig:

1.) Die Software des MSP430F1612 (Flash- + Infosegment) muss auf den 
Stand eines "alten" ez430U gebracht werden. Dies ist mittels JTAG 
problemlos möglich, da TI anscheinend "vergessen" hat, die Fuse 
durchzubrennen. Die JTAG-Pins sind im TI- Datenblatt auf Seite 14 
beschrieben.

2.) Die Parametrierung des TUSB3410 wird durch die Inhalte des über I2C 
angebundenen EEPROMs vorgenommen. Da diese Konfiguration dafür sorgt, 
daß das Device später als HID erkannt wird, muß sie ebenfalls geändert 
werden. Dafür gibt es zwei Lösungen:

- Eigentlich müßte die EEPROM- Bedatung durch die Inhalte des EEPROMs 
eines "alten" eZ430U ersetzt werden. Dies erfordert allerdings einen 
externen I2C-Programmer oder eine modifizierte Firmware des F1612, um 
die neuen Inhalte zu laden. Diesen Weg hat auch Travis in seinem Blog 
beschrieben und es ist, insbesondere für einen Betrieb unter Linux UND 
Windows, die sinnvollste Lösung.

- Allerdings hat sich durch einen Versuch herausgestellt, daß die 
Standardkonfiguration des TUSB3410 bereits genügt, damit das Device 
unter Linux seinen Zweck erfüllt. Zwar erhält das Gerät dann wieder die 
Standard productID des TUSB3410, dies stellt aber für den Linux-Treiber 
kein Problem dar. Lediglich die Treiberzuordnung unter Windows 
funktioniert ohne EEPROM bzw. ohne korrekte EEPROM- Inhalte nicht mehr. 
Man muß sich also entscheiden, ob das eZ430U unter Linux oder unter 
Windows betrieben werden soll. Um den TUSB3410 in Standardkonfiguration 
zu betreiben genügt es, in vom EEPROM zu trennen. Hierfür habe ich 
lediglich die Datenleitung (SDA, Pin5 des EEPROM) durch anheben des Pins 
unterbrochen.

Mit den beschriebenen Änderungen und einem fehlerfreien Kernelmodul 
welches die Firmware korrekt lädt, arbeitet das eZ430U bei mir nun 
einwandfrei unter Linux.

Beste Grüße,
odic

von Dirty H. (dirtyheizer)


Lesenswert?

Hallo odic,

ich habe hier auch das TI eZ430U Modul,
und möchte das auch unter Linux zum Laufen bekommen.
Nach Anleitung ausm Blog v. Travis/Wiki habe ich es schon hinbekommen, 
dass die Firmware von hier 
http://processors.wiki.ti.com/index.php/EZ430_Emulator_Upgrade per JTAG 
aufm Modul geschubst.

Nun kommt das "Problem" mitm EEPROM:
Leider antwortet Travis nicht auf meine E-Mails, daher hier die 
Nachfrage, speziell an Odic:

Kannst du mir die FW fürs EEPROM zukommen lassen, das müsste -wenn ich 
es richtig verstanden - die vom grünen Board!

Ausserdem möchte ich ungerne den SDA Pin high-hängen..

Gruß

von odic (Gast)


Lesenswert?

Hallo dirtyheizer,

leider kann ich mit dem EEPROM-Inhalt nicht dienen. Da ich keinen 
Adapter zur Verfügung hatte, um das I2C-EEPROM auszulesen (und auch 
keine Lust einen zu basteln), habe ich einfach das EEPROM vom 
USB-Controller getrennt.

Grüße,
odic

von Linux (Gast)


Lesenswert?

Kann man das eZ430-RF2500 inzwischen auch ohne, daß man die Firmware 
ändern muß, von Linux aus benutzen?


Wenn ich mir so ein eZ430... nämlich kaufe, dann muß es in meinem Fall 
sowohl unter Linux als auch unter Windows noch funktionieren.

von Linux (Gast)


Lesenswert?

Benutzt denn niemand dieses Ding unter Linux?

von Claudiu C. (clau85)


Lesenswert?

Ich habe nichts mehr damit gemacht, aber auf die schnelle habe ich das 
hier gefunden:
http://e2e.ti.com/support/low_power_rf/f/156/t/53610.aspx

Viel Glück!

von Linux (Gast)


Lesenswert?

Danke.

Manchmal frage ich mich, ob es irgendwann mal unter Linux möglich sein 
wird, ein USB Gerät in Betrieb zu nehmen ohne den Kernel neu compilieren 
zu müssen.

von Lukas K. (carrotindustries)


Lesenswert?

Bei mir geht die ez430 Chronos mit gcc und mspdebug vorzüglich unter 
Linux, auch ohne Kernel neu kompilieren. Beides aus den repos 
installiert, die Berechtigungen für den USB-Stöpsel udev bekannt 
gemacht, geht. Also beinahe "Out of teh box". Keine aufgeblasenen IDEs 
wir CCs oder IAR :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.