From 11158ebdfcac5a902822746bb803f9037a2a3d2b Mon Sep 17 00:00:00 2001 From: Joe Date: Mon, 22 May 2023 01:35:19 -0700 Subject: [PATCH] feat: add Kindle Fire 10, Anbernic RG353P, Pinephone (#257) * more codes for Kindle 10, plus Anbernic RG353P Cycled through the various sequences and found codes for these modes. Continuation of issue #256 * Kindle 8, Kindle 10, Anbernic RG353P, PinePhone Joshua Fern collected information and provided details for Kindle 8, 10, game emulator and a phone. This is a continuation of Issue #256 * Add adb_adb{mtp,ptp,tet,midi} Attempt to add adb and mtp at the same time. Add differentiation between different adb modes. Follow-up with details in Issue #256 --------- Co-authored-by: Joshua Fern --- 51-android.rules | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/51-android.rules b/51-android.rules index 5939e5f..c44bc36 100644 --- a/51-android.rules +++ b/51-android.rules @@ -41,10 +41,22 @@ ATTR{idVendor}=="10d6", ATTR{idProduct}=="0c02", ENV{adb_adb}="yes" ATTR{idVendor}=="0a5c", ATTR{idProduct}=="e681", ENV{adb_adb}="yes" # Amazon Lab126 +ATTR{idVendor}!="1949", GOTO="not_Amazon" # Amazon Kindle Fire -ATTR{idVendor}=="1949", ATTR{idProduct}=="0006", ENV{adb_adbfast}="yes" +ATTR{idProduct}=="0006", ENV{adb_adbfast}="yes" +# Amazon Kindle 8 2016 (giza) (0bb4:0c01=fastboot 0231=mtp 0232=adb,mtp 0233=ptp 0234=adb,ptp) +ATTR{idProduct}=="0232", ENV{adb_adbmtp}="yes" +ATTR{idProduct}=="0234", ENV{adb_adbptp}="yes" +# Amazon Kindle 10 2021 (trona) (05e0=fastboot 05e1=mtp 05e1=chg 05e2=adb,mtp 05e3=ptp 05e4=adb,ptp 05e8=adb,chg=05e8 2046=midi 2048=adb,midi) +ATTR{idProduct}=="05e0", ENV{adb_adbfast}="yes" +ATTR{idProduct}=="05e2", ENV{adb_adbmtp}="yes" +ATTR{idProduct}=="05e4", ENV{adb_adbptp}="yes" +ATTR{idProduct}=="05e8", ENV{adb_adb}="yes" +ATTR{idProduct}=="2048", ENV{adb_adbmidi}="yes" # Amazon Fire TV Stick Lite (3rd gen) -ATTR{idVendor}=="1949", ATTR{idProduct}=="03a8", ENV{adb_adbfast}="yes" +ATTR{idProduct}=="03a8", ENV{adb_adbfast}="yes" +GOTO="android_usb_rule_match" +LABEL="not_Amazon" # Archos @@ -140,9 +152,17 @@ ATTR{idVendor}=="04c5", ENV{adb_user}="yes" # Fuzhou Rockchip Electronics # Mediacom Smartpad 715i -ATTR{idVendor}=="2207", ATTR{idProduct}=="0000", ENV{adb_adb}="yes" +ATTR{idVendor}!="2207", GOTO="not_Fuzhou" +ATTR{idProduct}=="0000", ENV{adb_adb}="yes" # Ubislate 7Ci -ATTR{idVendor}=="2207", ATTR{idProduct}=="0010", ENV{adb_adb}="yes" +ATTR{idProduct}=="0010", ENV{adb_adb}="yes" +# Anbernic RG353P - AOSP12beta#1 (0003=rndis 0006=adb,chg 0007=mtp 0008=ptp 0013=adb,rndis 0017=adb,mtp 0018=adb,ptp) +ATTR{idProduct}=="0006", ENV{adb_adb}="yes" +ATTR{idProduct}=="0013", ENV{adb_adbtet}="yes" +ATTR{idProduct}=="0017", ENV{adb_adbmtp}="yes" +ATTR{idProduct}=="0018", ENV{adb_adbptp}="yes" +GOTO="android_usb_rule_match" +LABEL="not_Fuzhou" # Garmin-Asus ATTR{idVendor}=="091e", ENV{adb_user}="yes" @@ -153,6 +173,7 @@ ATTR{idVendor}!="18d1", GOTO="not_Google" # See https://android.googlesource.com/device/google/wahoo/+/master/init.hardware.usb.rc # OnePlus 6, 4ee1=charging, 4ee2=MTP+debug, 4ee6=PTP+debug, 4ee7=charging+debug # Pico i.MX7 Dual Development Board 4ee7=debug +# PinePhone (v1.2) (4ee0=fast 4ee1=mtp, 4ee2=mtp,adb 4ee3=rndis 4ee4=rndis,adb 4ee5=ptp, 4ee6=ptp,adb 4ee7=adb) # Yandex Phone 4ee7=debug ATTR{idProduct}=="4ee0", ENV{adb_adbfast}="yes" ATTR{idProduct}=="4ee2", ENV{adb_adb}="yes" @@ -188,10 +209,11 @@ ATTR{idProduct}=="4e30", ENV{adb_adbfast}="yes" # Nexus One (4e11=normal,4e12=debug,0fff=debug) ATTR{idProduct}=="4e12", ENV{adb_adb}="yes" ATTR{idProduct}=="0fff", ENV{adb_adbfast}="yes" +# Generic and unspecified debug interface (test after d00?) +# examples: Xiaomi Mi/Redmi 2, Anbernic RG353P +ATTR{idProduct}=="d00d", ENV{adb_adbfast}="yes" # Recovery adb entry for Nexus Family (orig d001, OP3 has 18d1:d002) ATTR{idProduct}=="d00?", ENV{adb_adb}="yes" -# Generic and unspecified debug interface (test after d00?) -ATTR{idProduct}=="d00d", ENV{adb_adbfast}="yes" # Other vendors that also used duplicated Google's idVendor code follows: # IDEA XDS-1078 (debug=2c11) @@ -218,6 +240,7 @@ ENV{adb_user}="yes" # fastboot mode enabled ATTR{idProduct}=="0fff", ENV{adb_adbfast}="yes", GOTO="android_usb_rule_match" # ADP1, Dream, G1, HD2, Magic, Tatoo (0c01=mass_storage) +# NOTE: Amazon Kindle 8 2016 (giza) (fastboot=0bb4:0c01 conflicts with mass storage=0c01) ATTR{idProduct}=="0c02", ENV{adb_adbfast}="yes" # ChaCha ATTR{idProduct}=="0cb2", ENV{adb_adbfast}="yes" @@ -847,6 +870,10 @@ LABEL="android_usb_rule_match" # Symlink shortcuts to reduce code in tests above ENV{adb_adbfast}=="yes", ENV{adb_adb}="yes", ENV{adb_fast}="yes" +ENV{adb_adbmtp}=="yes", ENV{adb_adb}="yes", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1" +ENV{adb_adbptp}=="yes", ENV{adb_adb}="yes" +ENV{adb_adbtet}=="yes", ENV{adb_adb}="yes" +ENV{adb_adbmidi}=="yes", ENV{adb_adb}="yes", SYMLINK+="midi", SYMLINK+="midi0%n" ENV{adb_adb}=="yes", ENV{adb_user}="yes", SYMLINK+="android_adb" ENV{adb_fast}=="yes", SYMLINK+="android_fastboot"