Ainda não encontrei uma maneira de tornar as alterações permanentes, mas pelo menos há uma maneira de alterar manualmente os drivers de mudança :
Por exemplo, com meu walkman sony:
-
Conecte-o e descubra seu fornecedor e o ID do produto com
lsusb
:# lsusb Bus 001 Device 003: ID 0402:7675 ALi Corp. Bus 001 Device 025: ID 054c:04be Sony Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub ...
- > então, neste caso:
054c
04be
. -
Mude para usb_storage com:
# mtp_switch 054c 04be
Ele deve ser montado automaticamente (no ubuntu pelo menos)
mtp_switch
script:
#!/bin/bash
usage()
{
echo "Usage: mtp_switch vendor_id product_id"
echo " switch usb device driver from mtp to usb storage."
exit 1
}
[ $# = "2" ] || usage
vendor="$1"
product="$2"
die()
{
echo "$@"
exit 1
}
find_bus_id()
{
cd /sys/bus/usb/devices/
for f in *:* ; do
if grep -qi "^usb:v${vendor}p${product}" "$f/modalias" 2>/dev/null; then
echo $f
return
fi
done
}
driver()
{
readlink "/sys/bus/usb/devices/$bus_id/driver"
}
bus_id='find_bus_id'
[ -n "$bus_id" ] || die "couldn't find device"
driver | grep -q 'usbfs' || die "device's driver is not mtp"
cd "/sys/bus/usb/drivers"
echo -n "Unbinding mtp driver ..."
while driver | grep -q usbfs; do
echo -n "$bus_id" > usbfs/unbind
sleep 0.5
done
echo ""
echo -n "$bus_id" > usb-storage/bind
echo "Done."