Hallo, Ich habe mir folgende Toolchain inkl. avrdude auf mein Android Smartphone (Xperia S, Android 4.1.2, gerootet + busybox) geladen: https://code.google.com/p/andavr/ Danach habe ich ein kleines Testprogramm geschrieben, das Kompilieren funktionierte ohne Probleme. Leider traten Probleme bei der Verwendung von avrdude auf, das Gerät /dev/ttyACM0, welches am Desktop zum Erfolg führt, gibt es hier nicht. Stattdessen sind alle möglichen tty aufgelistet (siehe Anhang). lsusb: 2341:0042 (bus 1, device 3) 1d6b:0002 (bus 1, device 1) avrdude: avrdude -cstk500v2 -P/dev/* -b115200 -patmega2560 -C/data/data/jackpal.androidterm/local/etc/avrdude.conf -Uflash:w:main.hex Hat hier irgendjemand eine Idee, was man da machen kann? Mfg Michael
Hallo, die Frage ist ob Android hier den nötigen Treiber für USB-Serial mitbringt. Schau doch mal mit dmesg ob und als was dein Programmer erkannt wird. Sascha
Hallo, erstmal vielen Dank für die Antwort, der Auszug von DMESG ist im Anhang. Hast du hier einen Lösungsansatz? Mfg Michael
ok dann hat er keinen Treiber, wenn ein Treiber geladen wird dann sollte das in etwa so aussehen (hier an meinem B Pi) [Sat Feb 28 13:20:28 2015] ehci_irq: port change detect [Sat Feb 28 13:20:29 2015] ehci_irq: port change detect [Sat Feb 28 13:20:29 2015] The port change to OHCI now! [Sat Feb 28 13:20:29 2015] usb 2-1: new full-speed USB device number 4 using sw-ohci [Sat Feb 28 13:20:29 2015] usb 2-1: New USB device found, idVendor=0403, idProduct=6001 [Sat Feb 28 13:20:29 2015] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [Sat Feb 28 13:20:29 2015] usb 2-1: Product: USB <-> Serial [Sat Feb 28 13:20:29 2015] usb 2-1: Manufacturer: FTDI [Sat Feb 28 13:20:29 2015] usbcore: registered new interface driver usbserial [Sat Feb 28 13:20:29 2015] usbcore: registered new interface driver usbserial_generic [Sat Feb 28 13:20:29 2015] USB Serial support registered for generic [Sat Feb 28 13:20:29 2015] usbserial: USB Serial Driver core [Sat Feb 28 13:20:29 2015] usbcore: registered new interface driver ftdi_sio [Sat Feb 28 13:20:29 2015] USB Serial support registered for FTDI USB Serial Device [Sat Feb 28 13:20:29 2015] ftdi_sio 2-1:1.0: FTDI USB Serial Device converter detected [Sat Feb 28 13:20:29 2015] usb 2-1: Detected FT232BM [Sat Feb 28 13:20:29 2015] usb 2-1: Number of endpoints 2 [Sat Feb 28 13:20:29 2015] usb 2-1: Endpoint 1 MaxPacketSize 64 [Sat Feb 28 13:20:29 2015] usb 2-1: Endpoint 2 MaxPacketSize 64 [Sat Feb 28 13:20:29 2015] usb 2-1: Setting MaxPacketSize 64 [Sat Feb 28 13:20:29 2015] usb 2-1: FTDI USB Serial Device converter now attached to ttyUSB0 [Sat Feb 28 13:20:29 2015] ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver an der Ausgabe hier kann man dann auch den zugeordneten Anschluss, hier ttyUSB0 ablesen. Ob du unter Android den benötigten Treiber nachinstallieren kannst - keine Ahnung. Benötigt das Arduino unter WIN einen extra Treiber und wenn ja gibts den auch für Linux? Sascha
:
Bearbeitet durch User
Unter Windows braucht das Board einen Treiber, ich verwende jedoch als Deskop auch Linux (erscheint dabei als /dev/ttyACM0). Dabei habe ich mittlerweile herausgefunden, dass hier das Kernel-Modul cdc-acm benötigt wird: http://wiki.openmoko.org/wiki/USB_CDC_ACM http://stackoverflow.com/questions/16838667/run-avrdude-on-android-with-samsung-devices Ich habe weiters mal nachgesehen ob ich das Modul möglicherweise schon habe und es möglicherweise nur nicht verwendet wird. Dies ist leider nicht der Fall: ls /system/lib/modules ansi_cprng.ko bcm4330.ko cls_flow.ko dal_remotetest.ko dma_test.ko evbug.ko gspca_main.ko hid-logitech-dj.ko lcd.ko mmc_block_test.ko mmc_test.ko msm-buspm-dev.ko qce.ko qcedev.ko qcrypto.ko sch_dsmark.ko scsi_wait_scan.ko test-iosched.ko Nun ist die Frage, wie man dieses Modul auf das Smartphone bekommnt, in manchen (custom) kernels ist es jedenfalls vorhanden: http://forum.xda-developers.com/htc-sensation/help/usb-otg-usbmanager-t2842639 Hast du eine Idee wie man zu dem cdc-acm Modul kommt? Mfg Michael
Erstmal möchte ich mich für deinen tollen Anstoß bedanken, es funktioniert nun alles wie gewollt. Falls jemand interesse an der Vorgehensweise hat: Um ein Funktionieren der LKMs zu gewährleisten habe ich mir die Sourcen für meine aktuell verwendete Linux-Version heruntergeladen (http://developer.sonymobile.com/downloads/xperia-open-source-archives/open-source-archive-for-build-6-2-b-1-96/). -> Treiber für Arduino-Board 1) im build Verzeichnis in den Ordner drivers/usb/class/ 2) Hier gibt es nun die Files cdc-acm.c und cdc-acm.h 3) Makefile erstellen (siehe Anhang - Makefile_cdc-acm) 4) make 5) adb push cdc-acm.ko <destination> 6) insmod cdc-acm.ko Da ich auch 'eigenständige' Mikrocontroller habe, möchte ich auch mittels mySmartUSB light flashen können. Hier sind aber andere Treiber erforderlich - siehe dmesg_mySmartUSB. -> Treiber für MySmartUSB light 1) im build Verzeichnis in den Ordner drivers/usb/serial/ 2) Hier gibt es nun die Files usbserial.c usb-serial.c generic.c bus.c cp210x.c (evtl. auch Header, ich habe einfach das ganze Verzeichnis kopiert) 3) Makefile erstellen (siehe Anhang - Makefile_usbserial) 4) make 5) adb push usbserial.ko <destination> adb push cp210x.ko <destination> 6) insmod usbserial.ko insmod cp210x.c Mfg Michael
na schön das sich das Problem in einer weiteren Nachtschicht hat lösen lassen ;-) Sascha
Ich dachte für soetwas gäbe es Nächte? ;) Mfg Michael
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.