D-Link DNS-323 NAS
Moderator: Telldus
Du kan inte installera gcc och källkoden i din maskin?
Vilken distribution av Linux kör du i din burk? Helst skulle du ju se om du inte kan köra en mer vanlig distribution, Debian, Ubuntu etc. Dessa kan man kompilera på maskinen direkt, och behöver inte korskompilering.
Du kan prova att titta på loggarna när du sätter i stickan första gången. Prova kommandot: tail -D /var/log/message
Det kan behöva justeras för din maskin, detta fungerar på Debian och Ubuntu.
Vilken distribution av Linux kör du i din burk? Helst skulle du ju se om du inte kan köra en mer vanlig distribution, Debian, Ubuntu etc. Dessa kan man kompilera på maskinen direkt, och behöver inte korskompilering.
Du kan prova att titta på loggarna när du sätter i stickan första gången. Prova kommandot: tail -D /var/log/message
Det kan behöva justeras för din maskin, detta fungerar på Debian och Ubuntu.
Jag har fått en ftdio_sio-modul att funka, tror jag?
Jag plockade in källkoden, ftdio_sio.c/.h från 2.6.14.7 i källkodsträdet för 2.6.12.6 från D-link och korskompilerade jag kärnan.
Sedan flyttade jag över modulerna usbserial.ko och ftdi_sio.ko till min DNS-323.
Körde insmod ./usbserial.ko och insmod ./ftdi_sio.ko vendor=0x1781 product=0x0c30 med min TellStick ansluten.
Detta ger följande med dmesg:
drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI USB Serial Device
ftdi_sio 1-1.3:1.0: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT232BM
usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB0
usbcore: registered new driver ftdi_sio
drivers/usb/serial/ftdi_sio.c: v1.4.3:USB FTDI Serial Converters Driver
Sedan har jag korskompilerat rfcmd men när jag försöker köra den så kan den inte öppna /dev/ttyUSB0.
> ./rfcmd /dev/ttyUSB0 NEXA A 1 0
rfcmd - Error opening /dev/ttyUSB0
Några idéer för hur jag kan gå vidare?
Sedan flyttade jag över modulerna usbserial.ko och ftdi_sio.ko till min DNS-323.
Körde insmod ./usbserial.ko och insmod ./ftdi_sio.ko vendor=0x1781 product=0x0c30 med min TellStick ansluten.
Detta ger följande med dmesg:
drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI USB Serial Device
ftdi_sio 1-1.3:1.0: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT232BM
usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB0
usbcore: registered new driver ftdi_sio
drivers/usb/serial/ftdi_sio.c: v1.4.3:USB FTDI Serial Converters Driver
Sedan har jag korskompilerat rfcmd men när jag försöker köra den så kan den inte öppna /dev/ttyUSB0.
> ./rfcmd /dev/ttyUSB0 NEXA A 1 0
rfcmd - Error opening /dev/ttyUSB0
Några idéer för hur jag kan gå vidare?
Hmm, /dev/ttyUSB0 finns inte
Jag upptäckte just att /dev/ttyUSB0 inte finns!
Man kanske måste skapa den först?
Någonstans i bakhuvudet känns mknod bekant, återkommer...
Man kanske måste skapa den först?
Någonstans i bakhuvudet känns mknod bekant, återkommer...
-
- Site Admin
- Posts: 2243
- Joined: Fri Mar 17, 2023 9:45 am
- Location: Lund
- Contact:
Ingen udev
Jag tror inte udev körs, det finns i alla fall ingen udev under /etc. Jag har inte tillgång till maskinen nu så jag kan inte kolla mera.
Hursomhelst, hur tar man reda på vilket major- och minornumber man ska använda till mknod?
Hursomhelst, hur tar man reda på vilket major- och minornumber man ska använda till mknod?
Nu funkar det!
Jag körde mknod /dev/ttyUSB0 c 188 0
Nu kan jag köra rfcmd och styra mina mottagarre, yippiii
Nu kan jag köra rfcmd och styra mina mottagarre, yippiii
Grattis! Kul.
Tips: Tydligen så stöds D-Link DNS-323 av Debian/Lenny.
Se http://www.cyrius.com/debian/orion/
Tips: Tydligen så stöds D-Link DNS-323 av Debian/Lenny.
Se http://www.cyrius.com/debian/orion/
tdtool?
försöker mig på samma sak som Bull lyckats med fast med mindre lycka och antagligen mindre unix bakgrund. Jag har lyckats korskompilera FTDI drivrutinen som funkar på min DNS-323 men Telldus-core och således td_tool och rfcmd går mindre bra i kompileringssammanhang.Bull wrote:...
Sedan har jag korskompilerat rfcmd ..
Första felen jag fick var ett par type casts i DeviceNexa.cpp som jag har försökt fixa och ger inga kompileringsfel längre. Ex:
strCode.append( 1, 5 ); -> strCode.append( 1, (char)5 );
Nästa problem var att korskompilera libconfuse.so vilket slutade med att jag tankade ner denna:
http://packages.debian.org/sv/lenny/arm/libconfuse0
och länkningen av telldus-core gick igenom iaf. Men nu detta:
Code: Select all
90% Built target telldus-core
Linking CXX executable tdtool
../driver/libtelldus-core/libtelldus-core.so.2.0.4: undefined reference to `dcgettext'
../driver/libtelldus-core/libtelldus-core.so.2.0.4: undefined reference to `__strdup'
../driver/libtelldus-core/libtelldus-core.so.2.0.4: undefined reference to `_IO_getc'
../driver/libtelldus-core/libtelldus-core.so.2.0.4: undefined reference to `__assert_fail'
../driver/libtelldus-core/libtelldus-core.so.2.0.4: undefined reference to `__strndup'
../driver/libtelldus-core/libtelldus-core.so.2.0.4: undefined reference to `bindtextdomain'
ps. vet inte riktigt vad mer för info ni behöver så fråga gärna. Tänkte detta kanske är av hjälp:
user@ubuntu:~/dns323_GPL/dns323_GPL/telldus-core-2.0.4$ $CC -v
Reading specs from /home/user/dns323_GPL/dns323_GPL/uclibc-toolchain-src-20040609/gcc-3.3.x/toolchain_arm/lib/gcc-lib/arm-linux-uclibc/3.3.3/specs
Configured with: /home/user/dns323_GPL/dns323_GPL/uclibc-toolchain-src-20040609/gcc-3.3.x/toolchain_build_arm/gcc-3.3.3/configure --prefix=/home/user/dns323_GPL/dns323_GPL/uclibc-toolchain-src-20040609/gcc-3.3.x/toolchain_arm --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=arm-linux-uclibc --enable-languages=c,c++ --enable-shared --with-gxx-include-dir=/home/user/dns323_GPL/dns323_GPL/uclibc-toolchain-src-20040609/gcc-3.3.x/toolchain_arm/arm-linux-uclibc/include/c++ --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --disable-nls --enable-multilib --enable-sjlj-exceptions
Thread model: posix
gcc version 3.3.3
/Tack på förhand
Re: D-Link DNS-323 NAS
..har nu lyckats kompilera tdtool från version telldus-core-2.0.3 (testade denna version i allt mitt felsökande). Får nu ett problem som jag inte kan hitta lösning på, hoppas någon här har nån idé.
lsmod
dmesg
lsusb
/etc/tellstick.conf
./tdtool -l
./tdtool -n 1
./tdtool -e 1
Jag har läst att '/etc/tellstick.conf:2: no such option' felmeddelande kan lösas med att tömma /var/state/telldus-core.conf vilket jag testat utan framgång. Oavsett så reagerar inte mottagaren, en Nexa LCMR-300. Parametrarna i conf filen är tagna från TelldusCenter på min windows burk, på vilken jag "lärde upp" mottagaren och där funkar allt finfint.
lsmod
Code: Select all
Module Size Used by Not tainted
ftdi_sio 26664 0
usbserial 23856 1 ftdi_sio
usblp 10976 0
sd_mod 14484 7
Code: Select all
usb 1-1: new full speed USB device using ehci_platform and address 2
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for Generic
usbcore: registered new driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI USB Serial Device
ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT232BM
usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
usbcore: registered new driver ftdi_sio
drivers/usb/serial/ftdi_sio.c: v1.4.3:USB FTDI Serial Converters Driver
Code: Select all
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 002: ID 1781:0c30 Multiple Vendors
Bus 001 Device 001: ID 0000:0000
Code: Select all
deviceNode = "/dev/ttyUSB0"
device
{
id = 1
name = "test"
protocol = "arctech"
model = "selflearning-dimmer"
parameters
{
house = "28536"
unit = "1"
}
}
Code: Select all
/etc/tellstick.conf:2: no such option 'device'
Number of devices: 0
Code: Select all
/etc/tellstick.conf:2: no such option 'device'
Turning on device 1, - The method you tried to use is not supported by the device
Segmentation fault
Code: Select all
/etc/tellstick.conf:2: no such option 'device'
Learning device: 1 - The method you tried to use is not supported by the device
Segmentation fault
-
- Site Admin
- Posts: 2243
- Joined: Fri Mar 17, 2023 9:45 am
- Location: Lund
- Contact:
Re: D-Link DNS-323 NAS
Testa att ta bort den extra radbrytningen efter "device" och måsvingen. Dvs ha dom på samma rad. Detsamma gäller även på "parameters".
Jag vet inte på rak arm hur känslig libconfuse är på sådant men det är värt ett försök.
Jag vet inte på rak arm hur känslig libconfuse är på sådant men det är värt ett försök.
Micke Prag
Software
Telldus Technologies
Software
Telldus Technologies
Re: D-Link DNS-323 NAS
Jag skrev conf filen så först och det funkade inte heller tyvärr. Men när du skriver att det är libconfuse som är inblandad i läsningen av filen så är jag nåt på spåren igen, som du kan se i posten ovan så har jag trixat en hel del för att få tdtool kompilerat, har nog tyvärr blandat libconfuse.so från olika versioner i kompileringen och under körning. Ska starta om med en orörd source och hålla stenkoll på vilken .so fil som används när.micke.prag wrote:Testa att ta bort den extra radbrytningen efter "device" och måsvingen. Dvs ha dom på samma rad. Detsamma gäller även på "parameters".
Jag vet inte på rak arm hur känslig libconfuse är på sådant men det är värt ett försök.
En annan fråga: vilka bibliotek krävs av telldus-core och tdtool? dom jag har stöt på är libconfuse, librt och libc. Jag antar att QT-grejer endast har med cmake att göra och är inte kopplade på nåt sätt till telldus-core.so och tdtool?
Tackar varmast för input'en
-
- Site Admin
- Posts: 2243
- Joined: Fri Mar 17, 2023 9:45 am
- Location: Lund
- Contact:
Re: D-Link DNS-323 NAS
Förutom confuse så ska inga andra bibliotek behövas förutom vad som brukar ingå i ett standard Linux-system.
Vi gjorde en rensning i 2.0.4 så att den t.ex. inte letar efter Qt (som bara behövs på Mac OS X).
Vi gjorde en rensning i 2.0.4 så att den t.ex. inte letar efter Qt (som bara behövs på Mac OS X).
Micke Prag
Software
Telldus Technologies
Software
Telldus Technologies
Re: D-Link DNS-323 NAS
fick det att funka till slut och det var nog inga konstigheter egentligen, var bara tvungen att sätta sökvägar till länkare och andra verktyg i cmake och kompilera confuse-2.5 och hitta det skapade biblioteket i en dold mapp. Lite dålig linux vana gjorde processen lite längre än vad den borde ha tagit.
Micke, tänkte dock på type cast felen jag får i kompilatorn, jag kanske har en extra känslig kompilator eller nåt men det skadar väl inte att skriva explicita type casts?
Det första var i DeviceNexa.cpp rad 71:
strCode.append( 1, 5 );
vilket jag ändrade till:
strCode.append( 1, (char)5 );
samma dyker upp 4 gånger till i samma fil och en gång i DeviceRisingSun.cpp
tack tack
Micke, tänkte dock på type cast felen jag får i kompilatorn, jag kanske har en extra känslig kompilator eller nåt men det skadar väl inte att skriva explicita type casts?
Det första var i DeviceNexa.cpp rad 71:
strCode.append( 1, 5 );
vilket jag ändrade till:
strCode.append( 1, (char)5 );
samma dyker upp 4 gånger till i samma fil och en gång i DeviceRisingSun.cpp
tack tack
Re: D-Link DNS-323 NAS
Och hur gjorde du det? Jag har spenderat minst 10 timmar nu på att sätta upp en openwrt build miljö och gjort otaliga försök att kompilera skiten, men det går åt pipan.mab wrote:var bara tvungen att sätta sökvägar till länkare och andra verktyg i cmake och kompilera confuse-2.5 och hitta det skapade biblioteket i en dold mapp.
Code: Select all
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CONFUSE_LIBRARY
linked by target "telldusd" in directory /home/mw/openwrt/backfire/build_dir/target-mips_r2_uClibc-0.9.30.1/telldus-core-2.1.0/service
FTDI_LIBRARY
linked by target "telldusd" in directory /home/mw/openwrt/backfire/build_dir/target-mips_r2_uClibc-0.9.30.1/telldus-core-2.1.0/service
-- Configuring incomplete, errors occurred!
PS. Ursäkta svordomarna men det här känns betydligt mer besvärligt än det borde behöva vara. Openwrt lär väl ändå vara hyffsat vanligt bland tellsticks användare..