Gelöst: Arduino per USB an OpenWRT Router - Kann man ihn dann Programmieren?

Nenne es extroot und Du findest was.

Hi,

jetz hab ich nochmal neu geflasht. (Über Luci ging das ganz prima, er hat die Config-files belassen. Da waren dann alle Netzwerkeinstellungen gleich vorhanden)
Dann avrdude installiert. Ging dann problemlos.Nach der Installation waren noch 660K frei :slight_smile:

Wie bring ich jetzt dann das hex-file auf den Router.

  • WinSCP gestartet. Der wollte sich nicht verbinden.
  • Fehlerprotokoll: "ash: /usr/libexec/sftp-server: not found"
  • Im Internet gesucht: -> Es fehlt der Sftp-Server auf dem Router.
  • Im Internet steht: Einfacher SFTP-Server: "root@OpenWrt:~# opkg install vsftpd openssh-sftp-server"
    --> Wieder Flash voll. Schei...!!!!

LUCI hab ich auch nicht mehr zum Flashen.
Wo stehen eigentlich die Dateileichen der fehlgeschlagenen installation? Dann könnte man die wenigstens wieder löschen

OK. hab ja restorefactory drauf :wink:
Also wieder zurück auf Anfang... gehe nicht über Los....

Und zum Abschluss für heute die Kardinalsfrage: Wie krieg ich, ohne viel Flash zu verschwenden, mein Hex-file auf den Router?

Auch das hätten wir: dropbear und Protokoll auf SCP. Geht allerdings erst mit "passwd" und SSH-Login. Egal drauf ist die Datei.

JETZT WIRD GEFLASHT:

Aber: irgendwie muss ich wohl noch den USB-Port einbinden. Er bringt mir sonst folgenden Fehler:
--> siehe screenshot.

Ich hab mal anstelle ttyACM0 (das stand bei mir nicht in /dev) den String "ttyATH0" eingegeben. Dann bringt er den Fehler:

avrdude: stk500_recv(): programmer is not responding

Jetzt bin ich aber an meine Grenzen gelangt. :frowning:

avrdude.JPG

Moin,

ertmal ein großes Lob an Dich: Du bist keiner, der gleich nach Mama ruft wenn was nicht geht! So liebe ich mir das. Ergebnis: man lernt auch was beim Machen.

USB: Du musst nochmal das lesen: USB Basic Support [Old OpenWrt Wiki]

Ich meine es war:

opkg update
opkg install kmod-usb-core
insmod usbcore
insmod uhci

EDIT: Oder war es

opkg update
opkg install kmod-usb2
insmod ehci-hcd

Wie gesagt, ich finde meine Aufzeichnung nicht mehr.Aber das o.g. müsste passen. Dann solte das Device /dev/ttyACM0 vorhanden sein, wenn Du den Ardu anschließt. Ich habe das damals im Zuge der Webcam Installation mit installiert. Aber wie gesagt....

Achtung: Speicher :D.

Anderes: wo hast Du den WR703N gekauft, dass er in sechs Tagen bei Dir war? Amazone?

DE8MSH:
Anderes: wo hast Du den WR703N gekauft, dass er in sechs Tagen bei Dir war? Amazone?

Nö, ebay. Chinese mit deutschem Auslieferungslager.
Genaueres Abends, wenn ich daheim bin.

DE8MSH:
USB: Du musst nochmal das lesen: USB Basic Support [Old OpenWrt Wiki]

Ich meine es war:

opkg update

opkg install kmod-usb-core
insmod usbcore
insmod uhci




EDIT: Oder war es


opkg update
opkg install kmod-usb2
insmod ehci-hcd




Wie gesagt, ich finde meine Aufzeichnung nicht mehr.Aber das o.g. müsste passen. Dann solte das Device /dev/ttyACM0 vorhanden sein, wenn Du den Ardu anschließt. Ich habe das damals im Zuge der Webcam Installation mit installiert. Aber wie gesagt....

Hätte ich gemacht. Allerdings nur den Treiber für USB2.0, da lt. Beschreibung die verbaut ist.
Das teste ich heute noch mal.

Achtung: Speicher :D.

Ja ja.... Welcher ist denn bei dir kritisch? Flash oder RAM??
Nach meinem Verständnis kann doch der Flashspeicher nicht mehr überlaufen, wenn ich mal alle Programme installiert habe. Der Rest spielt sich doch während des Betriebs nur im RAM ab. Selbst die hochgeladenen hex-files wandern ins /temp. Und das ist doch RAM??

Muss ich bei avrdude in irgendeiner config was anpassen???
Kann ich den Befehl auch auf meinem Windows PC mal testen, wenn ich den Arduino direkt anstecke? DIe Arduino IDE nimmt ja auch avrdude zum flashen oder?

Also, die Treiberinstallation war ok.

Der Router erkennt auch den Arduino beim Anstecken.

Das sagt "dmseg": (Hab den Arduino kurz vorher 2mal an und abgesteckt)

root@OpenWrt:/dev# dmesg | grep -i usb
[ 8.020000] usbcore: registered new interface driver usbfs
[ 8.020000] usbcore: registered new interface driver hub
[ 8.030000] usbcore: registered new device driver usb
[ 9.230000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 9.240000] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
[ 9.300000] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
[ 9.300000] hub 1-0:1.0: USB hub found
[ 9.580000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 9.650000] usb 1-1: new full-speed USB device number 2 using ehci-platform
[ 322.550000] usb 1-1: USB disconnect, device number 2
[ 432.960000] usb 1-1: new full-speed USB device number 3 using ehci-platform
[ 441.750000] usb 1-1: USB disconnect, device number 3
[ 444.640000] usb 1-1: new full-speed USB device number 4 using ehci-platform

Aber wie soll ich die Schnittstelle jetzt ansprechen?

? Wenn Du den Ardu steckst hast Du doch nun mit "ls /dev/ttyACM0" ein Device, oder? Dann das .hex File auf den Router schieben und den Ardu mit dem Command von oben flashen Gelöst: Arduino per USB an OpenWRT Router - Kann man ihn dann Programmieren? - #3 by DE8MSH - Deutsch - Arduino Forum.

Oder auch nicht :frowning:

root@OpenWrt:/# cd dev
root@OpenWrt:/dev# ls
bus mtd3ro port ttyS14
console mtd4 ppp ttyS15
cpu_dma_latency mtd4ro ptmx ttyS2
full mtd5 pts ttyS3
kmsg mtd5ro random ttyS4
log mtdblock0 shm ttyS5
mem mtdblock1 tty ttyS6
mtd0 mtdblock2 ttyATH0 ttyS7
mtd0ro mtdblock3 ttyS0 ttyS8
mtd1 mtdblock4 ttyS1 ttyS9
mtd1ro mtdblock5 ttyS10 urandom
mtd2 network_latency ttyS11 watchdog
mtd2ro network_throughput ttyS12 zero
mtd3 null ttyS13
root@OpenWrt:/dev# avrdude -p m328p -P /dev/ttyATH0 -c arduino -b 115200 -C /etc
/avrdude.conf -U flash:w:/tmp/Blink.cpp.hex
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

Und das mit "programmer is not responding" bekomm ich auch wenn ich den Ardu nicht anstecke.

"Und das mit "programmer is not responding" bekomm ich auch wenn ich den Ardu nicht anstecke."

Ist irgendwie logisch wenn er nicht (per driver) dran ist, oder?

Tja, dann musst Du Dich wohl jetzt langsam aber sicher bei OpenWRT einlesen. Ich bin raus. Vieleicht noch falschen USB Driver? Musst mal suchen.

Good luck.

Habe nun Anderes zu tun: ich muss mein gerade erhaltenes Ethernet Shield testen lol.

Zum Treiber ist mir noch was aufgefallen:

Es gibt ein Verzeichnis /dev/bus/usb/001. In dem erscheinen pinkfarbene "Einträge", die mit der Nummer des sich anmeldenden Devices zusammenpassen

[ 446.150000] hub 1-1:1.0: 4 ports detected
[ 446.440000] usb 1-1.4: new full-speed USB device number 5 using ehci-platform
root@OpenWrt:/# ls /dev/bus/usb/001
001 004 005
root@OpenWrt:/# avrdude -p m328p -P /dev/bus/usb/001/005 -c arduino -b 115200 -C /etc/avrdude.conf -U fl
ash:w:/tmp/Blink.cpp.hex
avrdude: ser_open(): can't set attributes for device "/dev/bus/usb/001/005": Inappropriate ioctl for device
root@OpenWrt:/#

Allerdings klappt da das brennen auch nicht :frowning:

Oh alter.......
kannst du dich noch erinnern??

root@OpenWrt:/# opkg install kmod-usb-acm

Das haste damals wohl auch installiert

Und siehe da:

root@OpenWrt:/tmp# avrdude -p m328p -P /dev/ttyACM0 -c arduino -b 115200 -C /etc/avrdude.conf -U flash:w
:/tmp/Blink.cpp.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/tmp/Blink.cpp.hex"
avrdude: input file /tmp/Blink.cpp.hex auto detected as Intel Hex
avrdude: writing flash (1084 bytes):

Writing | ################################################## | 100% 0.18s

avrdude: 1084 bytes of flash written
avrdude: verifying flash memory against /tmp/Blink.cpp.hex:
avrdude: load data flash data from input file /tmp/Blink.cpp.hex:
avrdude: input file /tmp/Blink.cpp.hex auto detected as Intel Hex
avrdude: input file /tmp/Blink.cpp.hex contains 1084 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.14s

avrdude: verifying ...
avrdude: 1084 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done. Thank you.

dideldumm........... :grin:

Viel Spaß mit deinem Ethernet-Shield. Hoffe du hast eins mit Wiznet.

Abschliessend noch was zum Speicherbedarf:

root@OpenWrt:/# free
             total         used         free       shared      buffers
Mem:         28976        20072         8904            0         1348
-/+ buffers:              18724        10252
Swap:            0            0            0

root@OpenWrt:/# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    1.3M    692.0K    652.0K  51% /
/dev/root                 1.5M      1.5M         0 100% /rom
tmpfs                    14.1M      2.2M     11.9M  16% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/mtdblock3            1.3M    692.0K    652.0K  51% /overlay
overlayfs:/overlay        1.3M    692.0K    652.0K  51% /

hk007:
Viel Spaß mit deinem Ethernet-Shield. Hoffe du hast eins mit Wiznet.

Weiß ich jetzt garnicht. Sagen wir mal so: es ist ein 12,00€ inkl. P&P China Shield und es rennt mit den Examples der IDE :slight_smile:

http://incaseyoureat.dyndns.org:81/

Siehst Du da was?

Zum Router: Du bist der Beste. Wenn's nun rennt, dann rennt es ;). Jetzt sind wir schon zu weit lol.

DE8MSH:
http://incaseyoureat.dyndns.org:81/
Siehst Du das was?

Yep, ist von aussen erreichbar.

<html><head></head><body bgcolor='#FFFFFF' background='http://i00.i.aliimg.com/img/pb/292/383/441/441383292_439.jpg' text='#FF0000'><center><h1>Hello Dudes!</h1></center><center><h1>This is just the first test of my new</h1></center><center><h1>Eternet shield for about 12 EURO. Worx.</h1></center></body></html>

Zum Router: Du bist der Beste. Wenn's nun rennt, dann rennt es

Ich werd noch rot....
Na ja, etwas stolz bin ich schon auf mich. Hab auch einen Haufen gelernt.
Hab auch noch mein erstes Script gebastelt, damit ich die lange Zeile nicht immer eingeben muss. (Ja ich weiss, copy/paste geht auch im shell)

Danke noch mal für deine Hilfe

hk007: freu' mich. Und bitte.

Falls ich mal 'was hab... hilfst mir dann auch ? :smiley:

BTW: was ich noch mit dem WR703N machen wollte ist: ein Webinterface bauen wo man .hex uplädt und dann brennt er schnell den code... Das wäre nochmal was.

Weiß ich jetzt garnicht. Sagen wir mal so: es ist ein 12,00€ inkl. P&P China Shield und es rennt mit den Examples der IDE

Da kann ich drunter: 8,17€ inkl. Versand (hab ich für mein letztes Shield gezahlt) Und war in 12 Tagen schon da.

Link, bitte. Gerne auch PN.... :smiley:

Das für 12€ kommt aus Frankfurt in 2 Tagen =)

Aber ich hätt auch ganz gerne den Link.

Gibt es eig. W5100 Breakouts in China für ähnliche Preise?
Ich überlege, mir nen NTP Sync. Wecker zu bauen^^