aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenoit Goby <benoit@android.com>2014-02-19 17:41:02 -0800
committerBenoit Goby <benoit@android.com>2014-04-18 12:05:30 -0700
commit0e22af658c89fb53ab1215a3538bbaf10d733ad9 (patch)
tree885f9f8c40de0616f325827daa0e78fa5012d8c6
parentbacf9b4558c69e918d9c05b6f111bbb223829829 (diff)
downloadbootable_recovery-0e22af658c89fb53ab1215a3538bbaf10d733ad9.zip
bootable_recovery-0e22af658c89fb53ab1215a3538bbaf10d733ad9.tar.gz
bootable_recovery-0e22af658c89fb53ab1215a3538bbaf10d733ad9.tar.bz2
recovery: Fix adb with linux 3.10
In kernel 3.10, f_adb has been removed and adbd can use functionfs instead. Mount functionfs on boot for adbd. On older kernels, mount will fail silently and adbd will revert to f_adb. Bug: 14160609 Change-Id: I5db57aaf35b35859ea88c7d0e0661d8c553e5811
-rw-r--r--etc/init.rc6
1 files changed, 6 insertions, 0 deletions
diff --git a/etc/init.rc b/etc/init.rc
index 159747e..6e0595b 100644
--- a/etc/init.rc
+++ b/etc/init.rc
@@ -28,9 +28,15 @@ on init
chown root shell /tmp
chmod 0775 /tmp
+on fs
+ mkdir /dev/usb-ffs 0770 shell shell
+ mkdir /dev/usb-ffs/adb 0770 shell shell
+ mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
+
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18D1
write /sys/class/android_usb/android0/idProduct D001
+ write /sys/class/android_usb/android0/f_ffs/aliases adb
write /sys/class/android_usb/android0/functions adb
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
write /sys/class/android_usb/android0/iProduct ${ro.product.model}