Android: получить точку монтирования флешки из точки перечисления USB
У меня есть флешка, на которой я знаю ее идентификатор и идентификатор продукта.
Сканируя через /sys/bus/usb/devices
Я могу надежно найти точку перечисления для корневого устройства (например, /sys/bus/usb/devices/3-1
) и точка перечисления для запоминающего устройства (например, /sys/bus/usb/devices/3-1:1.0
).
Как только я знаю две точки перечисления, как их использовать для поиска точки монтирования (например, /mnt/usb0/part0
или же /mnt/UsbStorageA
)?
-
В качестве альтернативы, есть ли прямой способ получить точку монтирования из идентификатора поставщика и идентификатора продукта?
-
РЕДАКТИРОВАТЬ 1 (более подробно о моем прогрессе):
Хорошо, так (работает в обратном направлении от точки монтирования):
точка крепления: /storage/usb0/part0
(в соответствии с /proc/mount
)
узел устройства: /dev/block/vold/8:1
(в соответствии с /proc/mount
)
имя раздела sda1
(в соответствии с /proc/partitions
)
Но я не могу соотнести в /sys/block
, потому что нет sda1
вход в /sys/block
и нет 8:1
вход в /sys/dev/block
, Вместо этого, странно, USB-устройство находится в /sys/dev/char
, как 189:261
, Почему, черт возьми, это будет выглядеть как символ, а не как блочное устройство?:-(