Openwrt auf JHR-N805R

Ich suche nach wie vor einen Batman-Switch.

Dabei brauche ich weder Wlan, noch Luci-Webzeugs.
Einfach nur ein Batman auf mindestens zwei ETH, gern auch mit VLAN-Support. Was im Autoupdater mitlaufen kann.

Mein 926 läuft nicht ganz störungsfrei. IP Client nach Relayd + Access Point (DHCP eine Fritzbox). Nach 2-3 Tagen können sich die Smartphone nicht per Authentifizieren bei der Adressvergabe. Nachdem das Gerät neu gestartet wurde, klappt es dann wieder. Über LAN angeschlossene Geräte keine Problem.

Komisch. Was könnte das sein?

Heute Abend mal meinen zweiten 926 ausgepackt. Da der Snapshot/Image Generator, den ich für meinen ersten 926 verwendet habe, schon knapp 2 Wochen alt ist, also Snapshot aktualisieren lassen (die entsprechenden Updatepfade eingefügt).

Gebaut wurde das Ganze mit den gleichen abgespeicherten Parametern, wie für meinen ersten 926. Ergebnis war jetzt ein aktueller Snapshot. Aber dieser hatte keinen Reiter für WLAN im Luci. Dazu passte, dass per ssh nachgeschaut die wireless fehlte. Manuelles anlegen und definieren hat aber auch nichts gebraucht, WLAN wurde in Luci nicht angezeigt.

Ich war dann mal mutig und habe diesen Snapshot auf meinen ersten laufenden 926 aufgespielt, Settings behalten. Gleiches Verhalten. Hier war zwar der WLAN Reiter vorhanden, aber keine Chance das WLAN zu aktivieren (oder die WLAN Nachbarschaft zu scannen).

Da ich die alten funktionierenden Firmware Dateien schon gelöscht hatte, also neu generieren lassen. Konkret den alten Image Generator sauber in ein neues Verzeichnis extrahiert, keine Pfadinformationen zur aktuellen RAMIPS Beta hinzugefügt, Image mit den selben Parametern generieren lassen.

Wieder Sysupgrade mit Einstellungen behalten. WLAN funkioniert sofort wieder.

Komisch. Was kann sich seit r49022 so geändert haben, dass dieses Verhalten bewirkt? Habt ihr auch so ein Problem gehabt?

Noch eine andere Frage. Da es nicht klappen wollte. Hat der 926 über einen der Taster eigentlich den Failsafe Modus definiert?! Den bekomme ich nicht aktiviert?!

Also ich gebe mit dem JCG Geräten auch erst einmal auf.

Ich benötige DHCP im Netzwerk und nach ein paar Stunden werden diese Requests einfach nicht mehr weitergeleitet.

Ich hatte jetzt noch meinen zweiten 926 nach Tutorial einfach als normalen Access Point konfiguriert, wobei DHCP Anfragen einfach nur weitergeleitet werden sollen. Das funktioniert auch ein paar Stunden, dann lässt auch der AP die Anfragen nicht mehr durch, genauso wie mein anderer 926 konfiguriert als Relayd Client.

Das Abstruse ist ja, die Geräte funktionieren ganz normal weiter, solange man bei statischer Adressvergabe bleibt…

Hat diese JCG Geräte jetzt eigentlich noch irgendjemand mit OpenWRT in Benutzung? Weil DHCP Anfragen hier bei zwei Geräten nach ein paar Stunden/Tagen nicht mehr weitergeleitet werden, müssten doch auch andere Nutzer betroffen sein?!

Ich schau immer ob sich für Ramips etwas in der Timeline diesbezüglich tut, aber ist leider nicht so. Schon schade, dass die Geräte jetzt wegen soetwas unbenutzbar rumliegen…

Mit anderen Worten: ping?

@micha12345

Ich habe einen 926er seit ca. 1½ Monaten mit einem DD-Snapshot (r49005) als „dummen“ AP (Bridge zwischen Ethernet und WLAN) im Einsatz. Mit DHCP (von der Fritz!Box am anderen Ende des Kabels) gab es bisher keine Probleme, aber der JCG ist daran ja auch nicht aktiv beteiligt.

Allerdings hatte nach ca. 20 Tagen Uptime das WLAN weggehängt, so daß ich die Kiste rebooten mußte. Das ist jetzt 18 Tage her und falls es demnächst wieder passiert, muß ich es mir nochmal genauer anschauen.

@wusel

Den Patch für CC habe ich Dir per PM geschickt.

Hallo allerseits,

Erstmal vielen Dank für die Portierung. Ich habe mir einen JHR-N805R zugelegt und den aktuellen Snapshot vom 20.04.2016 (r49195) geflasht, leider habe ich kein wireless device. Es scheint das selbe Problem zu sein, dass weiter oben schon beschrieben wurde. Gibt es noch einen Mirror mit einer älteren Version? Ansonsten müsste ich mir wohl die Toolchain installieren und eine alte Revision selbst kompilieren, sehe ich das richtig?

Besten Gruß
Nilas

Edit: hat jemand einen Hinweis, welche Optionen ich in menuconfig auswählen muss wenn ich selber kompilieren möchte? Mindestens muss ich wohl LuCI deaktivieren, finde es im Menü aber nicht.

@Nilas: Kannst Du mal deinen dmesg auf irgend ein pastebin posten? Hast Du den gleichen Fehler beim Booten wie ich?

Habe auch gleich mal JCG JHR-N805R [Old OpenWrt Wiki] aktualisiert.

Hallo pRiVi,

meinen dmesg log habe ich hochgeladen: http://pastebin.com/fhkVYNaw . Hab gerade nicht viel Zeit mir die Sache anzuschauen aber es scheint der gleiche Fehler zu sein. Oben hat rmax [1] geschrieben, dass man evtl einige Funktionen deaktivieren muss damit genug Ram für den Wifi Treiber verfügbar ist. Von micha12345 [2] gab es einen Bericht für das Modell 926, was mit früheren Revisionen funktioniert hat aber mit aktuellen Snapshots Probleme mit wifi hat. Ich habe daher mal ein Image von r49022 gebaut, konnte es aber noch nicht testen. Das sind die Dinge, die ich als nächstes ausprobieren möchte.

Gruß
Nilas

[1] Openwrt auf JHR-N805R - #51 von rmax
[2] Openwrt auf JHR-N805R - #83 von micha12345

Edit: Version r49022 hat mich schonmal weiter gebracht, hier [3] das dmesg von r49022 und die Firmware [4]. Damit scheint wifi zu funktionieren, offensichtlichster Unterschied ist wohl die andere Kernel Version, möglicherweise liegt es daran?

[3] pastebin.com/RvyfsKZ3
[4] openwrt-ramips-rt305x-jhr-n805r-squashfs-factory_r49022 .bin

Hallo @Nilas,

Wie hast Du es geupdated?

Webgui (Luci) scheidet aus, da kein RAM dafür da ist. sysupgrade und „normales“ mtd scheiden aus, da im RAM für das Image kein Platz ist.

Mit mtd wäre es über nc trotztdem möglich, da man über nc ip port | mtd write - linux das ganze auch übers Netzwerk machen kann. Allerdings gibts im /proc/mtd kein linux, darum geht das flashen selbst nicht wenn man das Image da hätte oder über nc zur Laufzeit holt.

Somit müsste man den Kernel und das Dateisystem einzeln (nc | mtd write - kernel, nc | mtd write - rootfs) flashen. Da man die Partitionsgröße aber nicht zur Laufzeit ändern kann, ist das so nicht möglich… Außer der Kernel würde kleiner werden?

Also bleibt nur tftp?

Hallo Privi,

Ja genau, ich hab die Methode über TFTP benutzt. Oben hat micha12345 Schritt für Schritt beschrieben, wie das genau funktioniert. Ich möchte einen Ethernet-Drucker ins Wlan bringen, dafür brauche ich viele Funktionen nicht und habe daher ntp, dns und dhcp auf disabled gesetzt. Damit habe ich etwas mehr Ram frei, so dass sich der Router als Client mit statischer IP (für den Netzwerkdrucker) ins Wlan einwählen kann und jetzt per Wlan und per Ethernet erreichbar ist. Ich muss noch die Port-Weiterleitung einrichten und zwar sowohl für den Drucker als auch für den SSH Zugang, der geht nämlich bisher nur per Ethernet. Wenn das auch noch klappt bin ich eigentlich soweit zufrieden. Da ich den Drucker sowieso nur nach Bedarf einschalte, brauche ich auch keine Langzeitstabilität mit mehreren Tagen uptime so dass der knapp bemessene Ram nicht so schlimm sein dürfte.

Gruß
Nilas

Edit: Mein Drucker funktioniert, vielen Dank nochmal für die Portierung. Mit den modernen Consumer-Geräten habe ich nur schlechte Erfahrungen gemacht, daher freut es mich um so mehr dass mein 90er Jahre LaserJet (mit 10baseT) noch ein bisschen weiterleben darf. Ich denke außerdem, dass man mit den diversen Buildoptionen noch einiges aus dem n805r rausholen kann, z.B. die Option „remove unnecessary exports“ oder mit dem Deaktiveren von USB. Wenn man alle Optionen einmal systematisch durchgeht kann man mit Sicherheit nochmal viel RAM frei machen und vielleicht laufen dann auch aufwendigere Funktionen.

@rmax

Da in den letzten Tagen doch ein paar Änderungen für ramips waren, speziell wegen 49293, möchte ich es noch einmal mit den 926 versuchen (vielleicht löst es mein spezielles Problem, dass nach kurzer Zeit keine DHCP Anfragen mehr durchgelassen werden, egal ob 926 als AP oder Client).

Also per den üblichen Image Generator Tutorials überflüssige Pakete herauskommentiert, luci, iperf3 und relayd mit hineingenommen. Soweit so gut.

Jetzt habe ich mir mal per make info deine Defaultvorgabe für den 926 angeschaut (man lernt ja nicht aus) und war etwas überrascht. Da kommen für den 926 vom Standard abweichend nur 3 Pakete für USB hinzu. Warum? Ich hatte mich schon gewundert, warum der 926 USB Pakete mit integriert hat und entferne die immer zum Platz freischaufeln. Oder ist die 7 Segmentanzeige irgendwie intern per USB angebunden und bleibt deswegen hier immer dunkel?!

Ich habe für die JCG-Router keine USB-Pakete festgelegt (wäre ja auch Unsinn), das muß woanders herkommen.
Was hast Du denn als „Target Profile“ ausgewählt, „Default Profile“ (da baut er Images für alle Router mit dem gleichen Chipsatz) oder eines der JCG-Profile?
Außerdem ist mir aufgefallen, daß das Umschalten der Profile alleine nicht reicht, man muß zusätzlich noch den tmp-Baum löschen, damit die Änderung wirksam wird.

Die 7-Segment-Anzeigen sind übrigens über Schieberegister (74164) angebunden, die an zwei GPIOs hängen. Ich kann die hier inzwischen auch ansteuern, bin aber noch nicht dazu gekommen, das mal noch ins OpenWrt einzupflegen.

Anstatt den alten einigermaßen laufenden Snapshot aktualisieren zu lassen (repositories.conf ist dafür erweitert) habe ich mir lieber einen firschen 2GB Snapshot geladen. Tmp sollte daher kein Thema gewesen sein, ich hätte aber auch vorher eh make clean im alten Snapshot eingegeben. Über die USB Geschichte hatte ich mich gewundert, weil make info Folgendes rückmeldet:
make info
Current Target: „ramips (RT3x5x/RT5350 based boards)“
Default Packages: base-files libc libgcc busybox dropbear mtd uci opkg netifd fstools uclient-fetch logd kmod-leds-gpio kmod-gpio-button-hotplug wpad-mini swconfig kmod-rt2800-soc dnsmasq iptables ip6tables ppp ppp-mod-pppoe firewall odhcpd odhcp6c
Available Profiles:

Default:
Default Profile
Packages: kmod-usb-core kmod-usb-dwc2 kmod-ledtrig-usbdev

JCG:
JCG Routers
Packages: kmod-usb-core kmod-usb-dwc2 kmod-ledtrig-usbdev
JHR-N805R:
JCG JHR-N805R
Packages: kmod-usb-core kmod-usb-dwc2 kmod-ledtrig-usbdev
JHR-N825R:
JCG JHR-N825R
Packages: kmod-usb-core kmod-usb-dwc2 kmod-ledtrig-usbdev
JHR-N926R:
JCG JHR-N926R
Packages: kmod-usb-core kmod-usb-dwc2 kmod-ledtrig-usbdev

Für das Generieren habe ich mir zusammengesucht:

make image PROFILE=JHR-N926R PACKAGES=‚luci luci-base luci-proto-ipv6 luci-lib-ip luci-lib-nixio luci-mod-admin-full luci-theme-openwrt liblua libuci-lua lua libubus-lua libiwinfo-lua luci-theme-bootstrap uhttpd uhttpd-mod-ubus relayd luci-proto-relay iperf3 -firewall -ppp -ppp-mod-pppoe -kmod-usb-core -kmod-pppox -kmod-usb-dwc2 -kmod-ledtrig-usbdev‘

Keine Ahnung, ob so optimal. Zumindest IPv6 könnte noch heraus, da ich das ursprünglich nur mit reingenommen hatte, um Wartungszugriff auf zwei gesetzte Freifunkknoten außer Haus zu haben. Klappt nur nicht, obwohl mein PC eine IPv6 Adresse meldet. Auch müsste DHCP heraus können, weil vom Speedport Hybrid erledigt. Da ich damit aber die beschriebenen Probleme habe, habe ich es lieber Default gelassen.

„make clean“ löscht tmp nicht, das muß man extra machen.

Sieht so aus, als ob bei ausgewähltem Default Profile alle anderen Profile, die keine eigenen Pakete definieren, die vom Default erben. Wenn ich eines der JCG-Profile im Menü explizit auswähle, habe ich keine USB-Pakete im Image.

Was muß man denn machen, damit „make info“ funktioniert?
Ich bekome da nur:

$ make info
make[1] info
make -r info: build failed. Please re-run make with -j1 V=s to see what's going on
/[...]/openwrt/trunk/include/toplevel.mk:192: recipe for target 'info' failed
make: *** [info] Error 1

Der Aufruf mit „-j1 V=s“ bringt auch nichts erhellendes.

Also ich habe da eigentlich nur ein Ubuntu 64bit in VM für installiert und dann das Image Generator Tutorial für OpenWRT Snapshots abgearbeitet. Wenn man mal danach grob sucht, findet man doch so einige gleichartige Fehlermeldungen. Die ersten paar gesichteten hatten wohl alle mit irgendwelchen Konflikten beim Nutzen von Debian zu tun?I

Ich nehme mal an, dass anhand des gewählten Profils wohl irgendwo dann doch noch zwischen den JCG Geräten unterschieden wird, auch wenn da die gleichen Pakete auf oberster Sichtebene gesetzt werden. Denn zumindest bei der Speicherstruktur muss doch unterschieden werden?!

Mir ist gerade auch aufgefallen, daß „make info“ nur beim Image Generator/Creator existiert. Mit dem kenne ich mich aber nicht aus, weil ich ja die Sourcen bearbeite und deshalb alles selber compilieren muß.

Der Kernel ist normalerweise für alle Router, die auf dem gleichen SoC basieren identisch, das Dateisystem auch, wenn nicht im Profil etwas anderes hinterlegt ist. Der Unterschied besteht im Device-Tree, der für jedes Modell spezifisch ist und dem Kernel u.A. sagt, welche der Peripheriebausteine im SoC auf diesem Board wie genutzt werden. Dazu gehören Art und Größe des Flash-Speichers aber auch an welchen GPIOs die Buttons und LEDs hängen. Das RAM wird dagegen bereits vom Bootloader initialisiert, der dem Kernel die Größe als Teil des Bootprotokolls mitteilt.

Hallo!

Habe die original Firmware gefunden.
Hier ist der Link für alle JCG router.
JCG捷稀官方网站

2 „Gefällt mir“

Super, danke für den Hinweis!

Das sind um zwei Jahre neuere Versionen als der Auslieferungszustand von Pollin.
Hast Du davon schon was aufgespielt und getestet?

Vielleicht komme ich heute Abend dazu, mir das mal genauer anzuschauen.