WR841 - I2C Sensoren

Zum DC-DC-Wandler:

effizienteren Weg gibt den 841er an die „12V-Batterie“ zu hängen als über den internen Wandler zu gehen

Der DC-DC Wandler im 841er ist erstaunlich effizient, und ich bezweifele sehr stark, dass es einem Bastler möglich ist, die Effizienz noch zu überbieten. Da sollte man lieber dran ansetzen und „echte“ Verbraucher deaktivieren bzw. unschädlich machen, z.B. die LEDs auf dem Board, die Schutzdiode und evtl. sogar die Ethernet-Übertrager.

Zum Tiefentladeschutz: Ich mache mir da schon ne ganze Weile Gedanken zu:
Bei 1 Zellspannung als gesamte Akkuspannung (also alles paralell) ist das ganze total easy:
da schlägt man alle Fliegen mit einer Klappe, hängt an den Arduino noch einen MOSFET und der Arduino kümmert sich um alles (zumindest mit etwas cleverer Software :wink: ).
Bei 12V, z.B. ist das ganze nicht mehr so einfach. Damit der AVR selbst nicht noch, obwohl er bereits die CPU deaktiviert hat, die Batterie leer nuckelt, kann (und sollte) man Ihn in den Sleep-Modus schicken. Das mache ich auch bei den Einzel-Zell Lösungen. Allerdings muss der AVR ja auch mit Spannung versorgt werden, hier kann bzw. sollte man evtl. nicht mit Schaltwandlern arbeiten, da diese im Idle auch Strom bzw. Leistung benötigen.

LT hat da z.B. den LT3009, ein sogenannter Low Quiescent Current LDO Regulator, welcher im „Leerlauf“ selbst nur wenige µA zieht, und somit den Akku nicht mehr viel weiter entlädt.

Also: Bei Bleigel-Akkus oder ähnlichem einen vernünftigen LDO, ATMega, Spannungsteiler und einen P-Channel FET.
am besten lässt man sich dafür mal beim China-Mann kleine Platinen fertigen, wo man nur noch die Teile drauflöten muss. Das benötigt aber hauptsächlich bei mir größere Mengen Zeit, weil ich mir da gedanken machen muss :stuck_out_tongue:
Meine Lust 2 verschiedene Layouts für Single- und Multi-Cell Konfigurationen zu machen, ist eher eingeschränkt, daher möchte ich eig. gerne eine „One-Size-Fits-All“-Lösung.

Ein weiterer Vorteil der MCU basierten Lösung (nebem dem Datenlogging) wäre eine Software konfigurierbarkeit, man könnte also per SSH bzw. evtl sogar per Webinterface eine Spannung definieren, bei der abgeschaltet wird, bzw. eine Schaltung bei der wieder angeschaltet wird (Einschalthysterese, wichtig um ein oszillieren zu verhindern)…

Gerade letzteres in „Analogtechnik“ bzw. mit fertigen Lösungen hinzubekommen wird wahrs. gar nicht mal so trivial sein, deswegen tendiere ich (man merkt es kaum :blush: ) zu einer Mikroprozessor-Lösung.

Das nur soweit… :wink:

btw: Sieht man irgendjemanden von euch morgen in Hannover auf der Maker Faire?

Viele Grüße,
Tobias

1 „Gefällt mir“

Moin Leute.

Wirklich schönes Projekt!

Warum nehmt ihr nicht einfach ein oder mehrzellige Handy Powerpacks. Die haben einen Tierenentladeschutz drin.

1 „Gefällt mir“

Für einen batterie-betriebenen Router wäre eine Powerbank ideal, nur leider nicht zum Solarbetrieb, da solche Powerbanks nur mit wenigen hundert Milliampere (die guten evtl. mit 1000mA) laden können, um mit Solar über den Tag und die Nacht zu kommen benötigen wir aber gut und gerne mal 3 Ampere Ladestrom, gerne/eher mehr.

1 „Gefällt mir“

Örks!
Habe mir gestern bei Reichelt noch nen paar WR841 mitgenommen…
Und: sind V11.1


Schauen intern relativ anders aus :frowning:

Naja, dann halt nochmal nach GPIOs suchen!

EDIT: Die Duo-LED (Rot, Grün) find ich aber cool!

1 „Gefällt mir“

Cool verkleinertes PCB, dann ist ja mehr Platz für eigene einbauten :smile:

2 „Gefällt mir“

:confused:

Also 2 GPIOs habe ich noch gefunden, der eine ist der „alte“ JTAG/UART-Pin.
Dabei macht man sich halt einmal die UART kaputt und man muss einen Widerstand auslöten.

Der andere GPIO (bei R27) ist gut zugänglich.
Ich würde hier schon fast dazu tendieren, die LEDs zu deaktiveren, denn die UART ist eigentlich wichtiger.

Ansonsten: die Duo-LED hängt auch an den GPIO-Pins und die Tri-State-Pins des Controllers werden als H-Brücke „missbraucht“ um die Farbe der LED zu wechseln. Mir ist nicht ganz klar, wie man DAS mal sinnvoll in OpenWRT integrieren wird, aber es ist auf jeden Fall ganz cool und man kanns auch jetzt schon mit GPIO-Calls ansteuern :smile:

Viele Grüße,
Tobias

6 „Gefällt mir“

Hi Tobias,
coole Arbeit und vielen Dank fürs Teilen. Kannst du beschreiben wie du die GPIOs gefunden hast? Hast du da ein bestimmes Vorgehen?

Hallo rfelten,

ja, gerne.

Im OpenWRT Wiki gibt es dieses Script: GPIO [Old OpenWrt Wiki]
das packt man sich halt auf den Router und startet man mit ./gpio.sh 0 30
dann fangen alle GPIO-Pins an, im Sekundentakt zu blinken.

Mit einem Multimeter oder Oszilloskop kann man dann einfach rumsuchen. Masseleitung auf Masse legen und Gleichspannungsmessung im <6V Bereich und ab gehts.

In folgender Reihenfolge suche ich die Möglichkeiten ab:
Unbestückte Pin-Header (sowas wie den UART), Testpoints und zu guter letzt alle unbestückten SMD-Footprints für z.B. Widerstände.

So kann man relativ zuverlässig alle GPIOs finden :smile:

Viele Grüße,
Tobias

5 „Gefällt mir“

Super! Danke für den Link. Das Script hatte ich im OpenWRT Wiki bisher übersehen!

Weiterhin viel Erfolg!

TL;DR: Es sollte noch GPIO2 verwendbar sein, dieser ist jedoch zumindest auf der v9 PCB nicht auf ein Lötpad o.ä. rausgeführt.

Lange Version:

Ich habe mich den GPIO Thema mal eher von der theoretischen Seite genähert als mit dem Messgerät, sprich über das Datenblatt. Das Datenblatt für den in meinem WR841v9 verwendeten QCA9533 habe ich zwar nicht gefunden, aber dafür gibt es das vom QCA9531 nach bisschen Sucherei im Netz (s.u.). Ich unterstelle einfachmal die SoCs sind weitgehend identisch.

Laut Datenblatt S.45 hat der 9531/9533 18 GPIOs. Sieben gehen laut Code (mach-tl-wr841n-v9.c) für LEDs drauf. Zwei für die Buttons. Zwei fürs UART. Zwei hat bereits Tobias gefunden. 7+2+2+2=13. Fehlen also 5.

Schauen wir uns daher mal an, wie die Ports nach dem Booten der v9 mit nem nackten Chaos Calmer geschaltet sind. Dazu guggen wir mit io direkt in die entsprechenden Config Register und guggen dann im Datenblatt nach was Sache ist.

io hab ich nicht auf die schnelle für CC gefunden, aber das von AA tuts auch:

root@OpenWrt:~# wget http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/io_1_ar71xx.ipk
root@OpenWrt:~# opkg install io_1_ar71xx.ipk 
Installing io (1) to root...
Configuring io.

Sweet. Nun brauchen wir noch die relevanten Registeradressen und die Infos um den Registerinhalt zu interpretieren.

Wir wälzen das Datenblatt: Tabelle 7-5 auf S.107 gibt uns die Registeradressen der Pin Konfiguration (= welcher Function Block gemultiplext ist) Tabelle 3-9 GPIO Output Select Values auf S. 47 listet auf welcher Funktionsblöcke welchen „Multiplex Value“ hat, spricht mit was der Pin verbunden wird. Davon gib’s 127 Stück (nicht alle belegt) und es wird 1 Byte pro Pin im Konfigregister benötigt. Die Registerbreite ist 4 Byte, es werden 4 Pins in einem Register konfiguriert/abgelegt.

Beispiel: Konfigtregister GPIO_OUT_FUNCTION2 konfiguriert die GPIO Pins 8, 9, 10, und 11 und hat die Adresse 0x18040034. Wir fragen also 4 Byte an dieser Adresse ab:

root@OpenWrt:~# io -4 0x18040034
18040034:  00160000

Die Beschreibung des Registers ist: MUX values for GPIO[11:8]., also steht GPIO Pin 11 vorne. Wir zerschnippeln 00160000 byte-weise und schlagen den Wert (Achtung hex!) in Tabelle 3-9 (Achtung dez!) nach.
Ist der Wert 0x00, wird statt Tabelle 3-9 die „Default Function“ verwendet. Diese finden wir ebenfalls in der Beschreibung des Registers.

Wir erhalten:

GPIO8: 0x00 -> SPI_MISO
GPIO9: 0x00 -> UART0_SIN
GPIO10: 0x16 -> UART0_SOUT
GPIO11: 0x00 -> Reserved < --- dazu später mehr

Okay, das bestätigt das komische Verhalten, wenn man an GPIO8 wackelt: Am SPI hängt ja der Flash und wir funken ihm in den Output (MISO) 8)

Der Rest ist Fleissarbeit. Wir wiederholen das Datenblatt-wälzen für alle GPIO_OUT_FUNCTION*-Register.

Außerdem wissen wir die Pins an denen die LEDs und die Buttons hängen aus dem Quelltext (mach-tl-wr841n-v9.c):

#define TL_WR841NV9_GPIO_LED_WLAN    13
...
#define TL_WR841NV9_GPIO_BTN_WIFI    17

Wir können uns noch anschauen ob ein GPIO als Input oder als Output konfiguriert ist. Das verwenden wir als Plausibilitätscheck: LEDs sollten Output und Buttons Input sein.
Wir fragen das Register GPIO Output Enable (GPIO_OE) an Adresse 0x18040000, welches festlegt ob ein GPIO ein Input oder ein Output ist.
Die Beschreibung sagt: zum Registerinhalt: Per bit output enable, where bit [22] sets GPIO22, bit [21] sets GPIO21, bit [20] sets GPIO20, and so on. 0=Output, 1=Input.

root@OpenWrt:~# io -4 0x18040000
18040000:  00021303

Diesen Wert (00021303) zerlegen wir also bit-weise, ich hab das unten mal an als „In,In,Out,Out“ rangeschrieben wenn in der GPIO Gruppe die ersten beiden Pins Input und die letzten beiden Output sind.

Wir mischen alles Zusammen und erhalten:

GPIO Function 0 (GPIO_OUT_FUNCTION0) MUX values for GPIO[3:0]:
root@OpenWrt:~# io -4 0x1804002C
1804002c:  00000000 
GPIO0: 0x00 -> TCK ?  -> Bereits gefunden von Tobias
GPIO1: 0x00 -> TDI ?   -> Bereits gefunden von Tobias
GPIO2: 0x00 -> TDO ?  
GPIO3: 0x00 -> TMS ?   -> TL_WR841NV9_GPIO_LED_QSS
Input/Output? GPIO3:0 Out,Out,In,In

GPIO Function 1 (GPIO_OUT_FUNCTION1) MUX values for GPIO[7:4]:
root@OpenWrt:~# io -4 0x18040030
18040030:  0c080900
GPIO4: 0x00 -> CLK_OBS4 ?   -> TL_WR841NV9_GPIO_LED_WAN
GPIO5: 0x09 -> SPI_CS_0
GPIO6: 0x08 -> SPI_CLK
GPIO7: 0x0c -> SPI_MOSI
Input/Output?  GPIO7:4 Out,Out,Out,Out 

GPIO Function 2 (GPIO_OUT_FUNCTION2) MUX values for GPIO[11:8]:
# io -4 0x18040034
18040034:  00160000
GPIO8: 0x00 -> SPI_MISO
GPIO9: 0x00 -> UART0_SIN
GPIO10: 0x16 -> UART0_SOUT
GPIO11: 0x00 -> Reserved  -> TL_WR841NV9_GPIO_LED_LAN4
Input/Output? GPIO11:8 Out,Out,In,In

GPIO Function 3 (GPIO_OUT_FUNCTION3) MUX values for GPIO[15:12]:
root@OpenWrt:~# io -4 0x18040038
18040038:  00000000
GPIO12: 0x00 -> Reserved   -> TL_WR841NV9_GPIO_BTN_RESET (input)
GPIO13: 0x00 -> Reserved   -> TL_WR841NV9_GPIO_LED_WLAN
GPIO14: 0x00 -> Reserved   -> TL_WR841NV9_GPIO_LED_LAN3
GPIO15: 0x00 -> Reserved   -> TL_WR841NV9_GPIO_LED_LAN2
Input/Output?  GPIO15:12 Out, Out, Out, In

GPIO Function 4 (GPIO_OUT_FUNCTION4) MUX values for GPIO[19:16]. <--- sic!!
# io -4 0x1804003C
1804003c:  00000100
GPIO16: 0x00 -> Reserved   -> TL_WR841NV9_GPIO_LED_LAN1
GPIO17: 0x01 -> SYS_RST_L   -> TL_WR841NV9_GPIO_BTN_WIFI  (input)
Input/Output?  GPIO17:16: Out, In

Wir sehen also: Neben den 7 für die LEDs, 2 für die Buttons werden 2 fürs UART, werden 4 fürs SPI verwendet. 2 ex-JTAG die von Tobias gefunden wurden. Macht 17 GPIOs. Der letzte, bisher noch nicht gefundene GPIO ist GPIO2. Dieser sollte so wie GPIO0 und GPIO1 verwendbar sein.

Der Wert für GPIO17 ist mir etwas unklar.

Leider scheint er zumindest auf dem v9er PCB nicht rausgeführt zu sein. Man beachte die Lücke in den Leiterbahnen zwischen C146, C164 und dem SoC. Immerhin liegt er auf einem QFN Pin in der vorderen Reihe (also falls jemand fit mit dem Lötkolben ist … :smile: )

Hier noch paar Allgemeine Pitfalls:

  • Bootstrap: Manchmal legen die GPIO Pins Bootoptionen fest, das sog. Bootstrap. Sollte man auf jeden Fall checken bevor man Anfängt die Wiederstande vom PCB zu kratzen.
  • JTAG: Bei den GPIOs an denen das JTAG hängt muss idR das JTAG erst abgeschaltet werden. Bei Chaos Calmer ist das Flag zum deaktiveren (DISABLE_JTAG) in Register GPIO_FUNCTION erfreulicherweise bereits gesetzt. Sollte man aber idR auch erstmal gegenchecken.

Soweit bisher. Vielleicht mag ja jemand mit einer v8, v10 und v11 die GPIO Config mal gegenchecken :wink:
VG
Robert

p.s.: Sorry, dafür das wir jetzt soweit vom eigentlichen Thema (I2C) abgekommen sind :frowning:

p.p.s.: Man beachte die Benennung von Pad B42 und B49: USB_DP und USB_DM:wink:

Quellen / Ressourcen

Datenblätter gibs hier:

Register auslesen (Beispiel):

Bild der Platine v9:

5 „Gefällt mir“

Vielen Dank für die Detailanalyse.

Mir ist es übrigens völlig egal, ob man evtl. 1-2 LEDs für LAN-Ports verliert für die Umrüstung.
Denn „besondere Firmware“ wird man sowieso backen müssen.
Und dass man zusätzlich in so einem Gerät auch noch mehr als 3 Ethernets braucht und dann auch noch zwingend auf LEDs angewiesen ist: Eher unwahrscheinlich.

Gerne. Mich hat es einfach die Frage gewurmt ob / wie viele freie GPIOs noch gibt :smile:

Denke auch das man bspw. auf die LED für LAN3+4 verzichten kann. Falls nicht jemand schneller ist, kann ich die mal bei Gelegenheit in nem OpenWRT CC deaktivieren. Der Patch sollte sich ja dann auch auf ein Community-eigenes Gluon anwenden lassen.
Alternativ würde sich auch ein I2C Portexpander (z.b. PCF8574, Datenblatt s.u.) anbieten, dann müsste man die FW gar nicht anfassen um sich (low speed) GPIOs zu verschaffen. Zusätzlicher Vorteil wäre, dass die Garage bei jedem Boot [Edit] nicht [/Edit] auf und zu geht, wenn die LEDs an gehen. Hehe.

Ich warte noch auf ADC Module (ADS1115) mit I2C aus China. Gibs auch bei ebay, aber ich habe es nicht eilig. Dann wollte ich das Setup von Tobias nachbauen, ohne den AVR Flasher aus der Kiste zu holen.
Durch den Verzicht auf AVR und mit I2C Fertig-Modul(en) und bei Verwendung von GPIO0+1 und I2C ist das denk ich ein leicht nach zubauendes Setup.
Und den Portexpander kann man auch noch an den Bus hängen, das wären dann 16x ADC zum messen + 8x I/O zum Schalten.

VG
Robert

Ressourcen:

2 „Gefällt mir“

Da würde ich die differenz aus zwei LEDs benutzen, abgeblockt mit einem RC. Denn beim Boot gehen die schließlich synchron an (und wieder aus)

Blick durch Pollin’s x10 Lupe auf GPIO2

Nachtrag: GPIO2 lässt sich ebenfalls verwenden! (Falls noch ein dritter GPIO benötigt wird).

Ist aber mit Hausmitteln bisschen schwierig anzuzapfen, „dank“ des kompakten QFN Gehäuses des QCA9533.
Für (deutlich größere) TSOP Pins verwende ich normalerweise 0.4er Kupferlackdraht (keine Litze!), der ist ca so breit wie ein Pin. Verzinnen, mit dem scharfen Cutter auf ca. 0.5 mm blankes Ende (gerade !) abschneiden. Von vorne an den TSOP Pin auf das SMD Pad legen, mit der (Bleistift)Spitze (ich habe z.Z. nur 1mm) von oben zärtlich drücken bis es „rutscht“. Lötstelle mit x10 Lupe inspizieren. Falls es schief geht, wieder ablöten, mit Löt-Entsaug-Litze reinigen. Loop. Übung macht den Meister :wink:

Öhm, beim QFN verdeckt der 0.4er CuLa schon 2-3 Pins. *gulp*
Daher hab ich Litze genommen und auf eine Faser (glaube 0.08mm) ausgedünnt. Verzinnen, anlegen und kurz den Kolben ranhalten. Mit 'ner 1mm Spitze is das ein Blindflug hehe. Zärtlich ziehen um zu prüfen ob es eine Verbindung gab, falls ja, mit x10 Lupe optisch kontrollieren. Wichtig: Die Lötkolbenspitze muss absolut sauber sein. Etwaiges Lötzinn an der Spitze würde sofort 2-3 Pins verbinden 8)

Hab ca. 15 Versuche gebraucht. Dann mit bisschen Tape fixieren.

Das ging nur, weil GPIO2 ein Pin der vorderen Reihe ist. Falls jemand ne Idee hat wie man an die hinteren kommt, bin ich ganz ohr …

VG
Robert

6 „Gefällt mir“

Top Arbeit! :smile:

Beim v9 hatte ich vor einer ganzen Weile auch schonmal DP und DM für USB 2.0 angezapft, bei den v10 und v11 scheint das aber leider nicht mehr drin zu sein.

Um die LEDs dauerhaft als GPIO zu nutzen, muss man die nur in der .c Datei auskommentieren bzw. den Befehl, welcher die beim Kernel registriert.

Den ADS1115 hatte ich auch schon gesehen, gerade die 16bit Resolution sind toll.
Allerdings hatte ich da die Befürchtung, dass man Probleme mit der fehlenden Referenz bekommt.
Beim AVR messe ich einfach gegen die interne 1.1V Referenzspannung, beim ADS müsste man wahrs. einfach gegen die 3.3V Rail clampen und dann die Batteriespannung mit einem Spannungsteiler messen.
Berichte da gerne mal, wie gut das funktioniert, evtl. ist das die schönere Lösung :slight_smile:

Viele Grüße,
Tobias

Zumindest nicht mit vertretbarem Aufwand.

http://ge.tt/m/2IKNi5l/

Ich wäre sehr interessiert wie du das bei dem v9 gemacht hast :wink:
Also konkret wie du die Pins mechanisch angezapft hast sowie den USB Initialisierungsbitcode. Für ersteres habe ich keine Idee, bei letzterem würde ich mich an den Patch vom v7 (s.u.) orientieren.

Ups, habe ich da was übersehen? Ich hatte das Datenblatt so interpretiert, dass da in interne Ref dabei ist?

Ich habe bisher ebenfalls mit den AVR ADCs gearbeitet. Ein für mich neues Feature daher der programmable gain amplifier (PGA). Siehe Datenblatt S.13. Damit müsste sich doch nen automatischer Messbereichsumschalter in Software basteln lassen? Das wär cool :wink:

Ich order mal das ADC Modul in der Bucht, dann muss ich/wir nicht 6 Wochen warten. Kostet auch nur das dreifache 8)

VG
Robert

USB Hack für den 841v7: TP-Link TL-WR841ND [Old OpenWrt Wiki]

Zeit zwei Wochen habe ich hier experimentell einen DIR-505 mit dem I2C Spannung-/Stromsensor INA219 von TI am laufen. Gerade bastel ich noch an einer zusätzlichen Temperatur-Mess-Erweiterung mit einem LM75.
Das schöne ist, beide Bausteine gibt es für kleines Geld, auch als Breakout Board, UND beide Bausteine werden direkt vom Kernel Hardware Monitoring (hwmon) unterstützt. Dadurch kann direkt per Dateizugriff auf die Sensorwerte zugegriffen werden.

Der INA219 benötigt eine Versorgungsspannung von 3-5,5V und kann Spannungen bis zu 26V messen.
Der LM75 läuft auch mit 3,3V und kann Temperaturen zwischen −55°C und 125°C messen.

INA219 von TI: http://www.ti.com/lit/ds/symlink/ina219.pdf
LM75 (A/B/C) unterschiedlichste Hersteller, hier z.B. von TI: http://www.ti.com/lit/ds/symlink/lm75b.pdf

Der DIR-505 hat eine nicht bestückte Doppel-LED. Hier können sehr einfach 2xGPIO und 3,3V abgegriffen werden (siehe OpenWrt Forum Archive).
Beim DIR-505 verwende ich GPIO 18 als SDA und GPIO 21 als SCL .

Soll nur die Spannung gemessen werden, so muß R3 kurzgeschlossen werden. „Load“ kann dann weggelassen werden.
A0=A1=GND → I2C Adresse des INA219 ist 0x40





Nein, es gibt keinen Kurzschluß durch das Abschirmblech :smile:

Was jetzt noch benötigt wird, ist ein Zugriff auf allgemeine OpenWrt Packages und kmod-Packages des eigenen verwendeten Gluon-Builds. Bei uns liegen die kmod-Packages auf unserem Firmware-Downloadserver. Daher kann ich einfach mit opkg install kmod-xyz arbeiten. Ansonsten müssen sie irgendwie anders lokal auf den Router geschaufelt werden.

Einbinden des I2C INA219 Sensors auf einem DIR-505:

I2C Treiber:

opkg install kmod-i2c-core kmod-i2c-gpio-custom kmod-hwmon-ina2xx
insmod i2c-gpio-custom bus0=0,18,21
dmesg | grep -i i2c
echo "i2c-gpio-custom.ko bus0=0,18,21" > /etc/modules.d/58-i2c-gpio-custom

INA219 Sensor hwmon mässig aktivieren:

echo ina219 0x40 > /sys/bus/i2c/devices/i2c-0/new_device

(Dieses sollte auch in /etc/rc.local eingetragen werden. Dann wird der Sensor sofort beim Booten eingebunden.)

Sensorwerte auslesen:
Spannung: cat /sys/devices/platform/i2c-gpio.0/i2c-0/0-0040/hwmon/hwmon0/in1_input
Strom: cat /sys/devices/platform/i2c-gpio.0/i2c-0/0-0040/hwmon/hwmon0/curr1_input
Leistung: cat /sys/devices/platform/i2c-gpio.0/i2c-0/0-0040/hwmon/hwmon0/power1_input
DeviceName: cat /sys/devices/platform/i2c-gpio.0/i2c-0/0-0040/hwmon/hwmon0/name

Mit dem Package lm-sensors geht das ganze noch komfortabler mit dem Befehl sensors.

Zur Zeit messe ich nur die Eingangsspannung mit dem INA219. Die Strommessung bedarf, wegen des kleinen zu erwartenden Messbereiches, noch einer Anpassung eines INA219 Konfigurations-Registers. Da muss schreibend auf den Baustein zugegriffen werden. Das würde mit dem Package i2c-tools gehen, dieses gibt es aber leider nicht für Gluon v2106.1.x bzw. OpenWrt 15.05.1 :frowning:

@Manawyrm Könntest Du evtl. kurz berichten, wie Du i2cdetect installiert bekommen hast?

5 „Gefällt mir“

Ja, das war ein absoluter Krampf :frowning:

Die Download-Server vom lm-sensors Projekt sind aufgrund interner Streitereien down und OpenWRT/Gluon scheint die Pakete direkt von deren Server kompilieren zu wollen (was natürlich fehlschlägt).

Zum Lösen des Problems müsstest du dir ein eigenes Gluon bauen, dass entsprechend angepasste Script (mit einem alternativen DL-Server / die Pakete liegen noch auf einem Server des fedora-Projektes rum) kann ich dir heute Abend gerne raussuchen.

Alternativ könntest du (mit etwas Mut :stuck_out_tongue: ) auch mal mein .ipk testen, ich weiß allerdings nicht, ob man das auf einem „Fremden“-Gluon ausführen sollte, oder man dann Ärger bzgl. Kernel-Version o.ä. bekommt.

Viele Grüße,
Manawyrm

2 „Gefällt mir“

@Manawyrm
Danke für diese Info! :+1:

Dein Package sollte eigentlich funktionieren (es ist ja ein allgemeines Package), aber ich werde mal versuchen mit dem OpenWrt SDK ein eigenes Package zu bauen. Ein Link auf die i2c-tools Sourcen wäre dafür natürlich klasse.

1 „Gefällt mir“