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

Man muss echt aufpassen, dass der Router nicht explodiert:

Habe gerade den Ardu geflasht. Da hatte ich noch knapp 1MB frei :astonished:. Nach dem Reboot waren es wieder um 5MB XD.

Hi,

seltsam... so ein Auf und Ab wegen der paar kb für den Arduino.
Die Grafik hab ich mir lange anschauen müssen, um zu verstehen, daß hier der freie RAM angezeigt wird.

Auf deinem Blog hab ich gesehen, daß du jede Menge Zeugs an dem Router dran hast.
Das machts wohl nicht schlanker :wink:

Brauche ich nur zum Flashen eines Arduino eigentlich einen externen USB-Stick? Dann muss ja auch gleich noch ein USB-HUB mit dran.
Wobei ich irgendwo gelesen habe, daß der USB2.0-Port des Routers Probleme mit USB 1.x Teilnehmern hat, und man aus dem Grund schon einen USB-HUB dranhängen soll.

Wo muss den eigentlich das Hex-File für den Arduino zum Flashen abgelegt werden?
Nach deinem Code liegt es auf Laufwerk W: Ist das auf deinem Rechner, oder auf dem Router?

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

Das mit dem USB 1.x und 2 weiß ich jetzt nicht. Ich habe den Hub dran weil, wie Du richtig sahst, allerhand Kram am WR habe. Und auch richtig: das nimmt Speicher. Wenn Du nur den Ardu dran haben möchtest reicht vieleicht(???) der Speicher aus. Habe ich nicht getestet, da ich gleich den USB Stick als Extram gemountet habe.

Das .hex File kopiere ich nach /tmp/. Damit also ins Ram, da /tmp/ im Ram gemountet ist. Bei Linux gibt es keine Laufwerksbuchstaben. Das :w: bedeutet, dass Du schreiben möchtest.

Bei Linux gibt es keine Laufwerksbuchstaben. Das :w: bedeutet, dass Du schreiben möchtest.

Ok ok, peinlich, aber für einen Windows-User sah es wie ein Laufwerk aus. Ja, die slashes sind anders, aber des Nächtens seh ich nicht mehr so gut.

Ich hab mir auf alle Fälle mal so eine TP-Link geordert, und werde es testen.
Darf ich mich bei (sicher auftretenden) Fragen melden?

Sicher. Immer her damit...

Kannst Dich ja in einem Monat melden. Vorher wird der Chinese Import nicht hier sein.

DE8MSH:
Sicher. Immer her damit...

Kannst Dich ja in einem Monat melden. Vorher wird der Chinese Import nicht hier sein.

Teil war nach 6 Tagen bei mir :stuck_out_tongue:
Heut hab ich mir mal etwas Zeit genommen:
Und schon gehts los:

  • Das Teil hab ich nicht auf der TP-Link Hompage gefunden :frowning: Da gibts nur einen 702N
  • Im Internet hab ich dann die default IP entdeckt: 192.168.1.1. Göttlich. Genau die meiner Fritz!Box.....
  • Und jetzt das Beste: Die Weboberfläche ist auf Chinesisch. Strrrrrrrrrike. Na ja, nach etwas Suche hab ich die IP umstellen können, damit ich meine Fritz!Box wieder frei bekomme.

Vllt find ich noch die Umstellung auf eine lesbare Sprache. Oder ich hol mir mal die nette Bedienung aus unserem China-Restaurant nach Hause. :stuck_out_tongue:


OK, man kann die Menus mit copy/paste in den google translator eingeben.
Aber eine englische Firmware wär doch nicht schlecht.
Wobei: es soll ja eh eine andere drauf. Mal schauen, wie ich das hinkriege.


Update:
OpenWrt ist drauf. Dank dieser Anleitung: Install OpenWRT on TPlink WR703N - XinCheJian


Update:
Luci läuft auch. War etwas tricky. da ich kein WLAN definiert habe, und meinem LAN Interface noch nen Gateway und DNS geben musste, damit er das Package aus dem Internet geholt hat.
Das mit dem restorefactory hab ich auch mal gemacht.

to be continued......

Zu dem Speicherproblem:

Du schreibst was von 4MB.

Wenn ich mit der GUI drauf schaue, dann versteh ich das nicht ganz: (siehe Screenshot)

So,jetzt bräucht ich aber doch nochmal Hilfe:

  • Wie bringe ich das avrdude package auf den Router?
  • Den Flash-Befehl kann ich ja aus deinem oberen Post übernehmen oder? Natürlich angepasst an mein HEX-File.

Das .hex File kopiere ich nach /tmp/. Damit also ins Ram, da /tmp/ im Ram gemountet ist.

Womit kopierst du? FTP-Server ist ja keiner drauf.

Gruß/hk007

Ich würde mal darauf tippen, dass er via SFTP, also z.B. mit WinSCP kopiert =)

Moin Meissers,

stimmt. Es waren 32 MB :D.

Antwort: ja, ich habe einen FTP Server drauf. Den VSFTP: opkg update, opkg install vsftp sollte gehen. Und den avrdude mit opkg update, opkg install avrdude.

Ich habe den aber meistens ausgeschalten, den VSFTP dienst. Nur wenn ich mal was schaufeln muss starte ich ihn mit /etc/init.d/vsftp start.
Du kannst es aber auch mit scp kopieren, wie Manawyrm sagt.

Und: klar kannst Du o.g. Flashzeile nehmen. Gehört doch nicht mir lol.

Aber pass auf: Speicher kann explodieren. In dem Fall fängt man von vorne an zu flashen.

Übrigens: sobald Du mit passwd ein Passwort für den User root vergibst ist telnet ausgeschaltet und Du kommst nur noch mit ssh root@routernameoderipadresse auf die shell.

Hi,

bad news:

root@OpenWrt:~# opkg update
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz.
Inflating http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/barrier_breaker.
root@OpenWrt:~# opkg install avrdude
Installing avrdude (5.8-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/avrdude_5.8-1_ar71xx.ipk.
Installing libncurses (5.7-5) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/libncurses_5.7-5_ar71xx.ipk.
Installing terminfo (5.7-5) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/terminfo_5.7-5_ar71xx.ipk.
Installing libreadline (6.2-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/libreadline_6.2-1_ar71xx.ipk.
Installing libusb (0.1.12-3) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/libusb_0.1.12-3_ar71xx.ipk.
Configuring terminfo.
Configuring libreadline.
Configuring libncurses.
Configuring libusb.
Collected errors:
 * pkg_write_filelist: Failed to open //usr/lib/opkg/info/avrdude.list: No space left on device.
 * opkg_install_pkg: Failed to extract data files for avrdude. Package debris may remain!
 * opkg_install_cmd: Cannot install package avrdude.
 * opkg_conf_write_status_files: Can't open status file //usr/lib/opkg/status: No space left on device.
root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    1.3M      1.2M     72.0K  95% /
/dev/root                 1.5M      1.5M         0 100% /rom
tmpfs                    14.1M      2.3M     11.9M  16% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/mtdblock3            1.3M      1.2M     72.0K  95% /overlay
overlayfs:/overlay        1.3M      1.2M     72.0K  95% /

Hmmmm. doch Speicherproblem?
Wobei er doch in /tmp noch 11,6MB frei hat.
Aber was ist Flash und was ist RAM?

Könnte man nicht einige Module deinstallieren? Aber da stellt sich die Frage, was ist unnötig, und wieviel Speicherplatz bringt es.

Yepp, speicher voll - Flashspeicher. Du kannst aber, wie geasgt, einen USB Stick als extram einbinden. BTW: luci frisst auch viel Speicher weg. Braucht Du luci? Nachdem Du alles einstelltest eigentlich nicht, oder? Klar, schöner ist's mit Webinterface.

DE8MSH:
Yepp, speicher voll - Flashspeicher. Du kannst aber, wie geasgt, einen USB Stick als extram einbinden.

Hätte halt gerne auf einen USB-Hub verzichtet.

DE8MSH:
BTW: luci frisst auch viel Speicher weg. Braucht Du luci? Nachdem Du alles einstelltest eigentlich nicht, oder? Klar, schöner ist's mit Webinterface.

Bin halt nicht der Kommandozeilenhacker. Aber wie krieg ich Luci wieder weg?
Der Windoof-Nutzer sucht hier vergeblich ein uninstall. LOL

Kann man hier einzelne Programme/Prozesse löschen?

Deinstallieren kannst Du mit opkg remove luci, meine ich.

Nö...

root@OpenWrt:~# opkg remove luci
No packages removed.

Das Problem ist ja, wie es aussieht der Flashspeicher (4MB)
RAM sollte mit 32MB ja dicke vorhanden sein.
Verstehe da das Verhältnis nicht ganz. Wie soll ich mit mageren 4MB Flash die 32 MB füllen?
Das wäre ja, wie ein PC mit 32GB Arbeitsspeicher und 4GB Festplatte.

Werd wohl doch auf Extram gehen müssen. Wie wird das installiert? "opkg install extram"
Dafür werd ich aber wohl neu flashen müssen, da ich ja keinen Platz mehr habe die Software zu installieren.

Noch ne Frage. In OpenWRT steht:

Download latest squashfs-factory.bin or squashfs-sysupgrade.bin firmware for WR703N.

Kennst du da den Unterschied?
Was mir aufgefallen ist:
squashfs-factory.bin = 3480 KB
squashfs-sysupgrade.bin = 2753 KB
1MB weniger Flashbedarf wäre doch nicht schlecht

Nope. Weiß ich jetzt nicht. Ich finde auch gerade meinen "Notizzettel" nicht wieder auf dem Stand, wie ich das alles machte lol. Ich suche noch...

Heisst das wirklich "Extram"??? Dazu find ich im Inet gar nix :frowning:

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?