(ToDo: całość, to tylko zalążek artykułu)
: Opisuje przestarzałe interfejsy sysfs, lepiej opisać omhacks.
FreeRunner może pracować w dwóch trybach: device (domyślnie) i host. Jak przestawiać tryby można znaleźć pod adresem http://wiki.openmoko.org/wiki/Neo_1973_USB_host
Aby przestawić USB w tryb hosta trzeba wykonać:
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode
Druga linijka odpowiada za wyprowadzenie 5V
(ToDo: sprawdzić)
Należy pamiętać, że jeśli mamy kabel potrójny (z dodatkowym wyprowadzeniem na zasilanie), to trybie host FR nie dogada się co do dozwolonych prądów. Aby wymusić ładowanie należy (wolno lub szybko):
echo -n 100 > /sys/devices/platform/s3c2440-i2c/i2c-adapter/i2c-0/0-0073/force_usb_limit_dangerous echo -n 500 > /sys/devices/platform/s3c2440-i2c/i2c-adapter/i2c-0/0-0073/force_usb_limit_dangerous
Jak masz małą elektrownię, to możesz zarządzić całego ampera (uwaga, źródło musi tyle wytrzymać):
echo -n 1000 > /sys/devices/platform/s3c2440-i2c/i2c-adapter/i2c-0/0-0073/force_usb_limit_dangerous
(ToDo: sprawdzić – FR nie ładował się z prymitywną ładowarką samochodową, może pomoże)
Tryb device jest trybem domyślnym. Przywraca się go poprzez:
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode
Całość można ująć w skrypcie (np. /usr/local/bin/usb):
#!/bin/sh case "$1" in host) echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode ;; device|dev) echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode ;; 5V|5v) echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode ;; 0V|0v) echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode ;; esac