HOWTO: Tellstick på ASUS WL-500gP OpenWRT kärna 2.4.

Moderator: Telldus

Nicke
Posts: 17
Joined: Fri Mar 17, 2023 9:45 am

HOWTO: Tellstick på ASUS WL-500gP OpenWRT kärna 2.4.

Post by Nicke »

Hej,

Jag ändrar detta inlägg då jag har fixat det jag ville ha med egen kompilering och ändringar i Makefiler.
Vill man ha något snabbt så gör man det själv! ;-)

Jag har en Asus WL-500gP som jag kör OpenWRT med x-wrt på.
Jag har kärna 2.4.35.4. (senaste)

Jag har modifierat filerna som krävs.

Om du har installerat kmod-usb-serial-ftdi_2.4.35.4-brcm-2.4-1_mipsel.ipk så kan du avinstallera det paketet nu. :-)

Gör detta på din router via ssh.

Dessa paket installerar jag som standard:
e2fsprogs kmod-fs-ext2 kmod-usb-serial kmod-fs-ext3 kmod-usb-ohci kmod-usb-storage kmod-usb-uhci kmod-usb2 swap-utils tune2fs libopenssl libpthread nano screen htop

Installera mitt modifierade paket med stöd för tellsticken:

Code: Select all

opkg install http://www.hemkoll.nu/tellstick/kmod-usb-serial-ftdi_2.4.35.4-brcm-2.4-1_patched_for_tellstick_mipsel.ipk
Om du får ett md5-fel så ta bort repon som finns. Mitt paket krockar tydligen med det som redan finns. Lägg tillbaka repon efter att du installerat paketet. Jag tittar på en lösning.

Sedan måste vi in med rfcmd för att styra mottagarna via tellsticken.

Code: Select all

cd /bin
wget http://www.hemkoll.nu/tellstick/rfcmd
chmod +x rfcmd
(har du inte wget så kör opkg install wget)

Editera filen /etc/modules.d/65-usb-serial-ftdi
Byt ut texten

Code: Select all

ftdi_sio
mot

Code: Select all

ftdi_sio vendor=0x1781 product=0x0c30
och sedan startar du om routern.

Så, nu har du stöd för Tellsticken och du har även senaste rfcmd (2.0).

För att aktivera mottagaren med huskod A och kod 1 kör:

Code: Select all

rfcmd /dev/usb/tts/0 NEXA A 1 1
Last edited by Nicke on Wed Mar 04, 2009 7:48 pm, edited 12 times in total.
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

Du måste köra kärna 2.6.14 eller senare. Annars är du tvungen att modifiera källkoden till ftdi_sio och kompilera om för din kärna.
Micke Prag
Software
Telldus Technologies
Nicke
Posts: 17
Joined: Fri Mar 17, 2023 9:45 am

Post by Nicke »

Problemet är att nätverkskortet i ASUSen inte fungerar med 2.6 än.
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

Som jag ser det har du 3 alternativ

1) Vänta på att drivrutinen fungerar
2) Byt kortet till ett atheros som beskrivs på OpenWRTs hemsida
3) Modifiera drivrutinen och korskompilera för din Asus

Dock är det tredje alternativet det svåraste, framförallt om du inte har så mycket vana av Linux.

Titta även på denna tråd:
http://www.telldus.se/forum/viewtopic.php?t=176
Micke Prag
Software
Telldus Technologies
Nicke
Posts: 17
Joined: Fri Mar 17, 2023 9:45 am

Post by Nicke »

micke.prag wrote:Som jag ser det har du 3 alternativ

1) Vänta på att drivrutinen fungerar
2) Byt kortet till ett atheros som beskrivs på OpenWRTs hemsida
3) Modifiera drivrutinen och korskompilera för din Asus

Dock är det tredje alternativet det svåraste, framförallt om du inte har så mycket vana av Linux.

Titta även på denna tråd:
http://www.telldus.se/forum/viewtopic.php?t=176
Jag vet inte om jag gör rätt men jag drog hem https://svn.openwrt.org/openwrt/trunk/ med SVN och körde menuconfig. Lät den bygga så att alla filer laddades ner. Gick in i ftdi_sio.h och ftdi_sio.c och gjorde ändringarna liknande de som finns här http://www.kernel.org/pub/linux/kernel/ ... tick.patch

Vet dock inte om det blir rätt eftersom att det är för 2.6 men det ser ut på ungefär samma sätt. Sen tog jag bort den nya ftdi_sio.o och kompilerade igen. Då verkar den kompilera för min kernel men modulen segfaultar när jag kör insmod...

Är jag helt ute och cyklar? ;-)

Även om jag inte har så bra koll på Linux så har jag tre datorer hemma som kör Ubuntu/Mythbuntu.
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

Jag skulle vilja säga att du är inne på helt rätt spår.
Micke Prag
Software
Telldus Technologies
Nicke
Posts: 17
Joined: Fri Mar 17, 2023 9:45 am

Post by Nicke »

Okey. Ja, jag får fram en ny modul men den går inte att "insmodda".
Svaret jag får är Segmentation fault men den byggs hur som helst för samma kernel. Kanske att jag gör något fel när jag lägger på patchen manuellt.
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

Testa helt utan patch för att bara se att kompileringen är rätt.
Micke Prag
Software
Telldus Technologies
Nicke
Posts: 17
Joined: Fri Mar 17, 2023 9:45 am

Post by Nicke »

hmm den segfaultar också...

Edit:
Jag lyckades. Tror jag.
Jag har ingen tellstick än. Ville se om det funkade innan.
Nu kompilerade jag och tog paketet som skapades. .ipk-paktet alltså.
Avinstallerade det gamla paketet och installerade det nya.
insmod fungerade utan problem och filen är något större än originalfilen.

-rw-r--r-- 1 root root 37828 Nov 10 16:54 ftdi_sio.o
-rw-r--r-- 1 root root 37812 Sep 8 13:57 ftdi_siobackup.o

Innan ändringarna av .h och .c så blev båda filerna exakt lika stora så något har ju ändrats. ;-)

Så, kan jag se om det blev rätt utan en tellstick?

Här är filen för personer med en ASUS WL-500gP (kan säkert funka på alla med brcm-2.4). Avinstallera gamla och installera denna med:
opkg install kmod-usb-serial-ftdi_2.4.35.4-brcm-2.4-1_patched_for_tellstick_mipsel.ipk

http://www.hemkoll.nu/tellstick/kmod-us ... mipsel.ipk

Det går även att köra
opkg install http://www.hemkoll.nu/tellstick/kmod-us ... mipsel.ipk

Edit: Stickan är beställd (http://shop.temperatur.nu/) och dyker troligen in på onsdag så då vet jag garanterat. ;-)
Last edited by Nicke on Wed Mar 04, 2009 7:47 pm, edited 1 time in total.
Nicke
Posts: 17
Joined: Fri Mar 17, 2023 9:45 am

Post by Nicke »

Det funkade!

Så, de som kör senaste OpenWRT (kernel 2.4.35.4) kan använda mitt paket för att få tellsticken att fungera på en ASUS-router. :)

hub.c: new USB device 01:03.0-1, assigned address 4
usbserial.c: FTDI SIO compatible converter detected
usbserial.c: FTDI SIO compatible converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

Grattis!
Jättekul att höra att du lyckades.

Nu är nästa projekt att göra någon kul tillämpning med din router. Posta gärna med bilder när du har något kul att visa upp.
Micke Prag
Software
Telldus Technologies
Nicke
Posts: 17
Joined: Fri Mar 17, 2023 9:45 am

Post by Nicke »

Har stora planer tillsammans med ett 1-wirenät så något ballt blir det. :-)
1-wirenätet är redan uppe och rullar.

Har 6 nexamottagare nu (och en för utomhusbruk). Ska byta alla lampknappar när ekonomin tillåter också.

Har lyckats fixa så jag kan skicka SSH-kommandon till routern utan lösenord nu också. Kör med en keyfile. Funkar utmärkt. :-)
filifjonkan
Posts: 9
Joined: Fri Mar 17, 2023 9:45 am

Post by filifjonkan »

Åhhh,
vilken underbar howto. Som nybörjare är det en av de få jag klarat av än så länge.

Klockren. Observera att endast första posten behöver läsas.

Nu ska jag börja labba!
gein
Posts: 437
Joined: Fri Mar 17, 2023 9:45 am

Re: HOWTO: Tellstick på ASUS WL-500gP OpenWRT kärna 2.4.

Post by gein »

Jag sitter här och försöker få till tellstick på en Seagate Dockstar som kör OpenWrt med kärna 2.6.30.10 men jag stöter på problem.
Försökte installera kmod-usb-serial-ftdi med opkg men den ville inte hämta hem paketet. Så jag laddade ner det manuellt från http://mirror.downloads.openwrt.org.wor ... d/packages och tvingade in paketen med --force-depends. Jag tycker det borde fungera eftersom paketen slutar på 2.6.30.10-1 och min kärna är

Code: Select all

#uname -a
Linux OpenWrt 2.6.30.10 #10 Sat Jul 31 10:08:26 EDT 2010 armv5tel GNU/Linux
Hur som helst, när jag gjort det så kan jag iaf inte ladda in ftdi_sio:

Code: Select all

# insmod ftdi_sio
insmod: can't insert 'ftdi_sio': unknown symbol in module, or unknown parameter
Någon som har några idéer?
gein
Posts: 437
Joined: Fri Mar 17, 2023 9:45 am

Re: HOWTO: Tellstick på ASUS WL-500gP OpenWRT kärna 2.4.

Post by gein »

Hmm, uname säger som sagt 2.30.10 men om jag kör
opkg list |grep kmod
så listar den kmod-paket med version 2.6.35.4-1 vilket kanske tyder på att jag kör en annan kärna. Jag är förvirrad.
Post Reply