Funk2Duo
Aus zerties.org
Inhaltsverzeichnis |
Funk2Duo - Asus WL-500g Hardware modding
... oder konkreter: wir zeigen einem WLAN-Router, wie man nicht nur WLAN, sondern auch IP over RFM12 spricht.
Das Ganze geht zurück auf eine Idee von stesie, zunächst sollte ein RFM12 USB-Dongle entstehen. Auf der Fahrt zur Arbyte kam dann die Idee, dass es ja wohl wesentlich schicker wäre, das Funkmodul nicht irgendwo dran zu stöpseln, sondern gleich im WLAN-Router zu verstecken.
Gesagt, getan. Es kann ja nicht so schwer sein, einen RFM12 auf einem Router nachzurüsten
Nunja, ganz so einfach war's dann auch wieder nicht. Auf dem Board des Routers mussten zunächst fünf Pins gefunden werden, welche direkt vom Prozessor gesteuert werden können (SPI Eingang/Ausgang, Clock, Chip Select und eine Interrupt Leitung). stesie fand zunächst sogar einen Atmel EEPROM, der per SPI angebunden war. Leider führen die Leiterbahnen die vom Speicher weg führen direkt zum Switch-Chip und von dort nicht weiter zur CPU. Nach zwei langen Abenden der Pin-Suche waren dann fünf Pins aufgetan, welche vielversprechend aussahen:
Der Restore-Taster-Pin (verbunden auf den Eingang des Reset-Tasters) ist insoweit problematisch als dass
- man durch Tasterdruck den MISO-Pin des RFM12 gegen Vcc schalten kann -> es sollte also ein Widerstand (ich hab' 1000 Ohm) dazwischen
- der Taster ist normalerweise durch einen kleinen C auf der Platinenvorderseite entprellt. Dieser Kondensator muss weg, sonst wird's nichts mit dem Digital-Eingang
Der Quellcode liegt im Git unter http://git.brokenpipe.de/cgi-bin/gitweb.cgi?p=stesie/broadcom-rfm12;a=summary
Fertig implantiert sieht das Ganze dann so aus:
Pinning
| GPIO Pin | Datenrichtung | Pin am RFM12 |
| GPIO1 | in | nIRQ |
| GPIO4 | out | SCK |
| GPIO5 | out | MOSI |
| GPIO6 | in | MISO (via 1 kOhm Widerstand) |
| GPIO7 | out | nSEL |
Vcc (+3,3 Volt) und GND solltest Du selbst finden, wenn Du ebenfalls einen Router modden möchtest
und so sieht's dann aus:
root@funkrouter:/tmp# insmod ./rfm12.o root@funkrouter:/tmp# ifconfig rfm12 192.168.5.23 up root@funkrouter:/tmp# ping 192.168.5.100 PING 192.168.5.100 (192.168.5.100): 56 data bytes 64 bytes from 192.168.5.100: seq=0 ttl=64 time=175.834 ms
inzwischen gibt's sogar ein bißchen Statistik:
rfm12 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.5.23 Bcast:192.168.5.255 Mask:255.255.255.0
UP BROADCAST RUNNING NOARP MULTICAST MTU:254 Metric:1
RX packets:164 errors:0 dropped:0 overruns:0 frame:0
TX packets:73 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:15884 (15.5 KiB) TX bytes:9005 (8.7 KiB)
Kategorien: Brokenpipe | Zerties | RFM12



