USB Steckdosenleiste

R

RainerWP

Fortgeschrittenes Mitglied
17
Hi,

ich benötige dieses
Programm auf dem Loox um eine USB-Steckdosenleiste zu steuern.
Erkannt wird die Leiste zumindest teilweise:
Code:
<6>[113884.581910] usb 2-1: new low speed USB device using usb20_host and address 2
<6>[113884.586216] DWC_OTG: dwc_otg_hcd_qh_init tt->hub null!
<6>[113884.791885] DWC_OTG: dwc_otg_hcd_qh_init tt->hub null!
<6>[113884.802265] usb 2-1: New USB device found, idVendor=04b4, idProduct=fd11
<6>[113884.806209] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
<6>[113884.813428] usb 2-1: Product: Gembird Silver Shield PM
<6>[113884.818591] usb 2-1: Manufacturer: Gembird Electronics
<6>[113884.826054] usb 2-1: configuration #1 chosen from 1 choice
<3>[113884.830945] usbhid 2-1:1.0: couldn't find an input interrupt endpoint
Um es aber zu testen wird das o.a. Programm benötigt.
Hat das schon mal jemand kompiliert, oder gibt es einige Links die mich auf dem richtigen Pfad zum selbst kompilieren bringen :)

Danke und bis dann...........

Rainer
 
Zuletzt bearbeitet:
Hi Rainer,
RainerWP schrieb:
Hi,

ich benötige dieses
Programm auf dem Loox um eine USB-Steckdosenleiste zu steuern.
Erkannt wird die Leiste zumindest teilweise:
Code:
<6>[113884.581910] usb 2-1: new low speed USB device using usb20_host and address 2
<6>[113884.586216] DWC_OTG: dwc_otg_hcd_qh_init tt->hub null!
<6>[113884.791885] DWC_OTG: dwc_otg_hcd_qh_init tt->hub null!
<6>[113884.802265] usb 2-1: New USB device found, idVendor=04b4, idProduct=fd11
<6>[113884.806209] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
<6>[113884.813428] usb 2-1: Product: Gembird Silver Shield PM
<6>[113884.818591] usb 2-1: Manufacturer: Gembird Electronics
<6>[113884.826054] usb 2-1: configuration #1 chosen from 1 choice
<3>[113884.830945] usbhid 2-1:1.0: couldn't find an input interrupt endpoint
Um es aber zu testen wird das o.a. Programm benötigt.
Hat das schon mal jemand kompiliert, oder gibt es einige Links die mich auf dem richtigen Pfad zum selbst kompilieren bringen :)

Danke und bis dann...........

Rainer
kannste erstmal knicken - solange Du kein Device hast nutzt Dir das Programm auch nix; also mal bei den Kernelbauern nachfragen ... ;)
 
Als was meldet sich diese Leiste denn an einem PC an? Als virtuelle Serielle oder nutzen die eine eigene Definition?
Hast Du das Ding auf einem normalen Linux-PC schon mal ans Laufen gebracht und von dort gesteuert, wenn ja, als was wird es dort registriert?
Letzteres könnte dann Aufschluss darüber geben, was dem Loox für ein USB Modul fehlt.
 
Astralix schrieb:
was dem Loox für ein USB Modul fehlt.
Wenn ich die Leiste am PC (Ubuntu) anschliesse werden folgende Module
nachgeladen : hid, usbhid
dmesg Meldung:
Code:
[ 1182.104283] usb 2-3.3.4: new low speed USB device using ehci_hcd and address 6
[ 1182.203515] usb 2-3.3.4: configuration #1 chosen from 1 choice
[ 1182.284867] usbcore: registered new interface driver hiddev
[ 1182.285442] usbhid 2-3.3.4:1.0: couldn't find an input interrupt endpoint
[ 1182.285482] usbcore: registered new interface driver usbhid
[ 1182.286022] usbhid: v2.6:USB HID core driver
Hier gibt es noch mehr Info über die Leiste, vielleicht hilft das ja weiter.

Danke und bis dann..........

Rainer
 
Oh, da muss erst mal die libusb auf dem Tablet laufen...
Keine Idee ob das funktioniert. Wenn der kernel soweit ist, werde ich mir das mal ansehen.
 
  • Danke
Reaktionen: RainerWP
Hi RainerWP,

sispmctl

ich habe das Programm einmal mit der arm-toolchain von Odys uebersetzt. Es ist static gelinkt, damit man die libs nicht auch noch installieren muss. Ich habe es nach /data/sysrw/bin kopiert. Es laesst sich starten und gibt folgende Meldung aus:
Code:
/mnt/storage/sdcard # cd /data/sysrw/bin/
/data/sysrw/bin # ./sispmctl 

SiS PM Control for Linux 3.1

(C) 2004-2011 by Mondrian Nuessle, (C) 2005, 2006 by Andreas Neuper.
(C) 2010 by Olivier Matheret for the plannification part
This program is free software.
./sispmctl comes with ABSOLUTELY NO WARRANTY; for details 
see the file INSTALL. This is free software, and you are welcome
to redistribute it under certain conditions; see the file INSTALL
for details.


sispmctl -s
sispmctl [-q] [-n] [-d 0...] [-D ...] -b <on|off>
sispmctl [-q] [-n] [-d 0...] [-D ...] -[o|f|t|g|m] 1..4|all
sispmctl [-q] [-n] [-d 0...] [-D ...] -[a|A] 1..4|all [--Aat '...'] [--Aafter ...] [--Ado <on|off>] ... [--Aloop ...]
   'v'   - print version & copyright
   'h'   - print this usage information
   's'   - scan for supported GEMBIRD devices
   'b'   - switch buzzer on or off
   'o'   - switch outlet(s) on
   'f'   - switch outlet(s) off
   't'   - toggle outlet(s) on/off
   'g'   - get status of outlet(s)
   'm'   - get power supply status outlet(s) on/off
   'd'   - apply to device 'n'
   'D'   - apply to device with given serial number
   'n'   - show result numerically
   'q'   - quiet mode, no explanations - but errors
   'a'   - get plannification for outlet
   'A'   - set plannification for outlet
           '-A<num>'        - select outlet
           '--Aat "date"'   - sets an event time as a date '%Y-%m-%d %H:%M'
           '--Aafter N'     - sets an event time as N minutes after the previous one
           '--Ado <on|off>' - sets the current event's action
           '--Aloop N'      - loops to 1st event's action after N minutes

Webinterface features:
sispmctl [-q] [-i <ip>] [-p <#port>] [-u <path>] -l
   'l'   - start port listener
   'i'   - bind socket on interface with given IP (dotted decimal, i.e. 192.168.1.1)
   'p'   - port number for listener (2638)
   'u'   - repository for web pages (default=/usr/local/share/httpd/sispmctl/doc)

/data/sysrw/bin #
Also sollte es erst einmal funktionieren. Ich habe keine solche Steckdosenleiste, kann also nicht weiter helfen.

Viele Gruesse
ropa
 

Anhänge

  • sispmctl.zip
    294,3 KB · Aufrufe: 162
  • Danke
Reaktionen: Oma7144, fluxflux und RainerWP
Hi ropa,

you are my hero :cool2:
Code:
# sispmctl -g all
Accessing Gembird #0 USB device 007
Status of outlet 1:    off
Status of outlet 2:    off
Status of outlet 3:    off
Status of outlet 4:    off
# sispmctl -o 1
Accessing Gembird #0 USB device 007
Switched outlet 1 on
# sispmctl -g all
Accessing Gembird #0 USB device 007
Status of outlet 1:    on
Status of outlet 2:    off
Status of outlet 3:    off
Status of outlet 4:    off
Einfach nur geil hier..............

Danke und bis dann

Rainer
 
ropa schrieb:
... ich habe das Programm einmal mit der arm-toolchain von Odys uebersetzt. Es ist static gelinkt, damit man die libs nicht auch noch installieren muss.

Hi ropa,

würdest du mir interessehalber die Optionen verraten, die du dem ./configure und dem make beim Erstellen des Programms mitgegeben hast?

Ich habe bisher wenig darüber gefunden, lediglich eine Anleitung zum Kompilieren von MPlayer, der tatsächlich auf dem Loox gestartet ist, dann aber mit der Option dvb:// mit einem Segmetation fault ausgestiegen ist (liegt wohl an dem fehlenden v4l2-Modul, das für den Framebuffer notwendig ist).

Danke,

Thomas.
 
@fluxflux,

so:
fuer libusb-config vor dem configure
export ac_cv_func_malloc_0_nonnull=yes
wegen "undefined reference to `_rpl_malloc"
und ansonten einfach
./configure --target=arm-none-linux-gnueabi --host=arm-none-linux-gnueabi

mehr nicht.

im Makefile zu sispmctl habe ich noch manuell

-I/home/Projects/Loox/target/usr/local/include
-L/home/Projects/Loox/target/usr/local/lib
hinzugefuegt weil das mit

--includedir=/home/Projects/Loox/target/usr/local/include

als parameter fuer configure nicht geklappt hat und er sonst
usb.h und libusb.a oder libusb.so nicht findet.

Der Pfad zur toolchain steht mit im PATH.
und dann
make -I pfad_zur_toolchain/arm-none-linux-gnueabi/libc/usr/include/

Viele Gruesse
ropa
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: fluxflux
Hi,

nochmal ein dickes DANKESCHÖN an alle !
Mein Loox lädt sich eigenständig auf :thumbup:
Per cron überprüfe ich alle 15 Minuten den Batterylevel.
Wenn der unter 15 % fällt, wird die Steckdose eingeschaltet.
Ab 95 % wird die Steckdose wieder ausgeschaltet.
Ein kleines Probleme habe ich aber noch :crying:
Nach einem Neustart muss ich den crond per Hand wieder starten.
Code:
ln -s /system/bin/ /bin
/system/bin/crond -c /data/cron -l /sdcard/logs/cron.log
Wie kriege ich das automatisiert hin ??

Danke und bis dann............

Rainer
 
In die init.rc in der boot.img schreiben, boot.img neu packen und boot.img auf 0x00008000 neu flashen.

Thomas.
 
Hi Thomas,

danke für die Info.
Das heißt ich muss jedesmal die boot.img bearbeiten, neu packen und dann flashen wenn ich zusätzliche Skripte beim Neustart ausführen wil?
Könnte man nicht in der init.rc einen hook einbauen der z.B. Skripte in /sdcard/etc/init.d/ ausführt.
Wäre doch viel weniger Arbeit :unsure:

Bis dann...........

Rainer
 
Ja, geht auch. Hier hat ropa in einem anderen Thema eine Lösung aufgezeigt ...

Thomas.

Gesendet vom Loox mit der Android-Hilfe.de-App
 
  • Danke
Reaktionen: RainerWP
Dann werde ich mal auf die Suche gehen.................

Bis dann,

Rainer
 
RainerWP schrieb:
Mein Loox lädt sich eigenständig auf :thumbup:
Per cron überprüfe ich alle 15 Minuten den Batterylevel.
Wenn der unter 15 % fällt, wird die Steckdose eingeschaltet.
Ab 95 % wird die Steckdose wieder ausgeschaltet.

Cool, jetzt doch das Perpetuum Mobile ;-)

Ist das die Leiste hier? 6-fach Steckdose Silvershield PMS über PC: Amazon.de: Computer & Zubehör

Gibt es ein günstigeres Equivalent?

Bei ELV deutlich günstiger: http://www.elv.de/output/controller...=34615&refid=zanox&zanpid=1598619314414904320

Oder als Einzelversion noch günstiger: http://www.ebay.de/itm/Gembird-MSIS...uterzubehör_Kabel_Adapter&hash=item3a6f503c7c


:thumbup:
 
Zuletzt bearbeitet:
Hi,

genau die ist es.
Funktioniert bei mir 1a :thumbup:
Sobald ich alles automatisiert habe und alles so läuft wie ich mir das vorstelle werde ich mal eine Anleitung zusammenschreiben.

Bis dann...........

Rainer
 
Hi,

hier mal meine Überlegungen für den hook beim Starten des Systemes.
Man könnte es doch so ähnlich handeln wie die Kollegen von optware
es auf meiner Buffalo Linkstation machen :)

/etc/init.d/rc.optware

Code:
#!/system/bin/sh
OPTWARE='/sdcard/opt/etc/init.d' 
SH=/system/bin/sh
if [ -d $OPTWARE ]
then
        for script in $OPTWARE/S??*
        do
                [ ! -f "$script" ] && continue # Keine Symlink Dateien ausfuehren
                $SH $script start        
        done
else
        exit
fi
Diese Skript muss fest ins System und dann beim Starten ausgeführt werden.

Hier mein Skript zum starten von crond, benötigte Systemkommandos werden, falls nicht vorhanden als symbolische Links zu den relevanten busybox kommandos erstellt.

/sdcard/opt/etc/init.d/S01cron
Code:
#!/system/bin/sh
#	Starte Cron
#
case $1 in
	start)
	:
	;;
	*)
	echo "Usage: $0 start"
	exit
	;;
esac
#	
#       Symbolische Links auf Busybox Kommandos anlegen falls nicht vorhanden
#
BB="/system/bin/busybox"  

if ! $BB test -e /system/bin/ln
then                                 
        $BB ln -s $BB /system/bin/ln
fi 
        
if ! $BB test -e /system/bin/[ 
then
	/system/bin/ln -s $BB /system/bin/[
fi
	
if ! $BB test -e /system/bin/] 
then
	/system/bin/ln -s $BB /system/bin/]
fi

if   [ !  -d /bin ]
then
	/system/bin/ln -s /system/bin /bin
fi

if   [ ! -f /system/bin/crond ]
then
	/system/bin/ln -s $BB /system/bin/crond
fi

if   [ ! -f /system/bin/crontab ]                             
then                                                            
	/system/bin/ln -s /system/bin/busybox /system/bin/crontab
fi

if [ ! -f /system/bin/grep ]                                          
then                                                             
        /system/bin/ln -s /system/bin/busybox /system/bin/grep
fi 

if [ ! -f /system/bin/mkdir ]                                     
then                        
        /system/bin/ln -s /system/bin/busybox /system/bin/mkdir
fi
#
#	/data/cron anlegen falls nicht vorhanden
#	
if [ ! -d /data/cron ]
then
	/system/bin/mkdir /data/cron
fi
#
#	Log Dir anlegen
#
if [ ! -d /sdcard/opt/var/log ]
then
	/system/bin/mkdir -p /sdcard/opt/var/log
fi
#	
#	/etc/passwd anlegen falls nicht vorhanden
#	und den user root hinzufuegen
if ! grep root /etc/passwd > /dev/null
then
        echo "root:x:0:0::/data/cron:/system/bin/bash" > /etc/passwd
fi
#
#	/etc/group anlegen falls nicht vorhanden
#	und die Gruppe root hinzufuegen
#
if ! grep root /etc/group > /dev/null
then
	echo "root:x:0:root" > /etc/group
fi
#################################################################
#								#
#	crond starten						#
#								#
#################################################################
if ! ps | grep crond > /dev/null
then
        echo "Starte crond......."
        /system/bin/crond -c /data/cron -L /sdcard/opt/var/log/cron.log
else
	echo "crond already running !"
fi

Und hier das "Perpetuum Mobile" :sneaky:

/sdcard/opt/usr/local/bin/battery.sh

Code:
#!/system/bin/bash
LEVEL=`cat /sys/class/power_supply/battery/capacity`
DATE=`date`
if [ $LEVEL -le 15 ]
then
        echo -e "$DATE Schalte Steckdose ein" >>  /sdcard/opt/var/log/battery.log
        echo -e "$DATE Battery Level : $LEVEL" >> /sdcard/opt/var/log/battery.log
        /system/bin/sispmctl -o 1
        exit
fi
if [ $LEVEL -gt 95 ]
then
        echo -e "$DATE Schalte Steckdose aus " >> /sdcard/opt/var/log/battery.log
        echo -e "$DATE Battery Level : $LEVEL" >> /sdcard/opt/var/log/battery.log
        /system/bin/sispmctl -f 1
        exit
fi

Was meint ihr dazu ?
Das ganze geht zur Zeit natürlich nur mit root und r/w system !

Bis dann.......

Rainer
 
  • Danke
Reaktionen: ropa
@RainerWP,

wo issn der "Gefaellt Mir" Button ?
Ich habe Dein script nur mal ueberflogen. Die Idee mit der Erweiterung der init.rc finde ich gut. Damit koennte man Einiges erschlagen ohne ewig am boot.img rumzubasteln.
Was die symbolischen links betrifft, da wuerde ich eher einmal ein neues boot.img bauen, das die busybox mit allen functions und links enthaelt. Zumal man ja sowieso eines machen muss um die Erweiterung einzubauen.

Viele Gruesse
ropa

Ach ja, nur so nebenbei. Die batch files zum Erstellen der Images funktionieren nicht, wenn die Tools auf dem Desktop platziert werden.
Wegen: C:\Dokumente und Einstellungen.
Die batch files verschlucken sich an den Leerzeichen.
 
Zuletzt bearbeitet:
ropa schrieb:
wo issn der "Gefaellt Mir" Button ?
Bedanken ist doch auch ok ;)

ropa schrieb:
ohne ewig am boot.img rumzubasteln.
Genau das war mein Gedanke.

ropa schrieb:
Was die symbolischen links betrifft, da wuerde ich eher einmal ein neues boot.img bauen, das die busybox mit allen functions und links enthaelt.
Ja und nein, jeder möchte sein System evtl. ein bischen anders haben....
So setze ich halt wirklich nur die Links die ich benötige.

ropa schrieb:
Die batch files zum Erstellen der Images funktionieren nicht, wenn die Tools auf dem Desktop platziert werden.
Ich will die Images auf einem Linux System erstellen, mit Windoofs muss ich mich beruflich schon genug herumärgern :lol:
Muss mich da aber noch reinlesen und die Forensuche bemühen ........

Bis dann,

Rainer

P.S. Wer auf dem Gerät die "bash" haben möchte, hier gibt es sie.
 
Hi,

da die USB Steckdosenleiste jetzt nutzbar ist, schlage ich vor diesen Thread zu schließen.
Für das andere Thema mache ich einen neuen Thread auf.

Bis dann...........

Rainer
 
Zuletzt bearbeitet:

Ähnliche Themen

A
  • aw48
Antworten
0
Aufrufe
762
aw48
A
P
  • PitstopII
Antworten
0
Aufrufe
926
PitstopII
P
wusel
Antworten
2
Aufrufe
11.524
FATlui
FATlui
Zurück
Oben Unten