FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: Krallos am 14 Februar 2013, 11:52:22

Titel: insmod in der startfhem funktioniert nicht
Beitrag von: Krallos am 14 Februar 2013, 11:52:22
Moin,

in meinem Experimentierstadium habe ich mich bisher bei Neustart der FB per Telnet drauf geschaltet und das Kernelmodul ch341.ko nachgeladen.

Dann wollte ich wie im Wiki beschrieben, das Modul aus der startfhem laden lassen, aber das klappt nicht.

So sieht sie aus:

#!/bin/sh



home=/var/InternerSpeicher/fhem

cd $home

trap "" SIGHUP
modprobe cdc_acm
#modprobe ftdi_sio
insmod $home/ch341.ko
sleep 2

ln -sf $home/FHEM/fhemcmd.sh /var/fhemcmd

PATH=$home:$PATH
export PATH

export LD_LIBRARY_PATH=$home/lib
export PERL5LIB=$home/lib/perl5/site_perl/5.12.2/mips-linux:$home/lib/perl5/site_perl/5.12.2:$home/lib/perl5/5.12.2/mips-linux:$home/lib/perl5/5.12.2

# add user fhem with uid of boxusr80/boxusr99 (== ftpuser)
# Comment/delete everything between START and END to run FHEM as root

## START:fhem-user
#id fhem > /dev/null 2>&1
#if test "$?" -ne "0"; then
#  grep -q 1099 /etc/passwd;
#  if test $? -eq "0"; then
#    echo "fhem:any:1099:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/passwd
#  else
#    echo "fhem:any:1080:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/passwd
#  fi
#  chown -R fhem FHEM docs log www
#  chown fhem . *
#  chown root dfu-programmer    
#  chmod u+s dfu-programmer
#fi
## END:fhem-user

perl fhem.pl fhem.cfg


Das Modul befindet sich auch im FHEM-Verzeichnis.

Ich weiß jetzt auch nicht direkt, wo ich nachschauen kann, ob etwas geloggt wird .. jemand eine Idee.
Titel: Aw: insmod in der startfhem funktioniert nicht
Beitrag von: Johannes am 14 Februar 2013, 20:40:37
mach doch mal im Terminal, also über Telnet, auf der Box den Befehl so:

insmod /var/InternerSpeicher/fhem/ch341.ko

Kommt die Fehlermeldung

insmod: can't insert './ch341.ko': File exists

dann ist das Modul bereits geladen und ok.
Bei anderen Fehlermeldungen ist wohl das Modul kaputt.

Achja

...aber das klappt nicht.

sagt leider relativ wenig über dein Problem aus...

Titel: Aw: insmod in der startfhem funktioniert nicht
Beitrag von: Krallos am 14 Februar 2013, 20:49:46
Danke .. jetzt läuft es ;)

In meinem Fall muss wohl immer die komplette FB neugestartet werden .. ich startete immer nur FHEM neu?!?

Meine Startdatei sieht jetzt so aus:

#!/bin/sh


home=/var/InternerSpeicher/fhem

cd $home

trap "" SIGHUP
modprobe cdc_acm
modprobe ftdi_sio
insmod $home/ch341.ko
sleep 3

ln -sf $home/FHEM/fhemcmd.sh /var/fhemcmd

PATH=$home:$PATH
export PATH

export LD_LIBRARY_PATH=$home/lib
export PERL5LIB=$home/lib/perl5/site_perl/5.12.2/mips-linux:$home/lib/perl5/site_perl/5.12.2:$home/lib/perl5/5.12.2/mips-linux:$home/lib/perl5/5.12.2

# add user fhem with uid of boxusr80/boxusr99 (== ftpuser)
# Comment/delete everything between START and END to run FHEM as root

## START:fhem-user
#id fhem > /dev/null 2>&1
#if test "$?" -ne "0"; then
#  grep -q 1099 /etc/passwd;
#  if test $? -eq "0"; then
#    echo "fhem:any:1099:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/passwd
#  else
#    echo "fhem:any:1080:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/passwd
#  fi
#  chown -R fhem FHEM docs log www
#  chown fhem . *
#  chown root dfu-programmer    
#  chmod u+s dfu-programmer
#fi
## END:fhem-user

perl fhem.pl fhem.cfg


.. die Module "cdc_acm" & "ftdi_sio" müssen auf jeden Fall mit geladen. (Ich dachte, sie wären für andere BusMaster ;))

Und 2 Sekunden sleep waren wohl zu wenig .. 3 Sekunden und jetzt wird der BusMaster USB9097 auch von FHEM erkannt.




Danke noch mal :)