examples: add mdev example for Android phone
No binary (build failed)
—
(log yok)
| @@ -0,0 +1,24 @@ | |
| + | #!/bin/sh |
| + | |
| + | # Seconds to try to reread partition table |
| + | cnt=60 |
| + | |
| + | exec </dev/null |
| + | exec >"/tmp/${0##*/}.$$.out" |
| + | exec 2>&1 |
| + | |
| + | ( |
| + | echo "Running: $0" |
| + | echo "Env:" |
| + | env | sort |
| + | |
| + | while sleep 1; test $cnt != 0; do |
| + | echo "Trying to rereat partition table on $DEVNAME ($cnt)" |
| + | : $((cnt--)) |
| + | test -e "$DEVNAME" || { echo "$DEVNAME doesn't exist, aborting"; exit 1; } |
| + | #echo "$DEVNAME exists" |
| + | blockdev --rereadpt "$DEVNAME" && break |
| + | echo "blockdev --rereadpt failed, exit code: $?" |
| + | done |
| + | echo "blockdev --rereadpt succeeded" |
| + | ) & |
| @@ -112,3 +112,33 @@ usbdev[0-9].[0-9]_.* root:root 660 | |
| # zaptel devices | |
| zap(.*) root:dialout 660 =zap/%1 | |
| dahdi!(.*) root:dialout 660 =dahdi/%1 | |
| + | |
| + | # HTC Android |
| + | # Attaching it via USB cable causes a flurry of activity: |
| + | # |
| + | # mdev[1271]: 48.639459 ACTION:add SUBSYSTEM:usb DEVNAME:bus/usb/001/009 DEVPATH:/devices/pci0000:00/0000:00:02.1/usb1/1-5 |
| + | # mdev[1271]: mknod bus/usb/001/009 (189,8) 20660 0:0 |
| + | # mdev[1272]: 48.642354 ACTION:add SUBSYSTEM:usb DEVNAME:(null) DEVPATH:/devices/pci0000:00/0000:00:02.1/usb1/1-5/1-5:1.0 |
| + | # mdev[1272]: running: modprobe "$MODALIAS" |
| + | # mdev[1273]: 48.650078 ACTION:add SUBSYSTEM:scsi DEVNAME:(null) DEVPATH:/devices/pci0000:00/0000:00:02.1/usb1/1-5/1-5:1.0/host11 |
| + | # mdev[1274]: 48.651297 ACTION:add SUBSYSTEM:scsi_host DEVNAME:(null) DEVPATH:/devices/pci0000:00/0000:00:02.1/usb1/1-5/1-5:1.0/host11/scsi_host/host11 |
| + | # mdev[1275]: 49.649422 ACTION:add SUBSYSTEM:scsi DEVNAME:(null) DEVPATH:/devices/pci0000:00/0000:00:02.1/usb1/1-5/1-5:1.0/host11/target11:0:0 |
| + | # mdev[1276]: 49.650703 ACTION:add SUBSYSTEM:scsi DEVNAME:(null) DEVPATH:/devices/pci0000:00/0000:00:02.1/usb1/1-5/1-5:1.0/host11/target11:0:0/11:0:0:0 |
| + | # mdev[1276]: running: modprobe "$MODALIAS" |
| + | # modprobe: module scsi:t-0x00 not found in modules.dep |
| + | # mdev[1277]: 49.658002 ACTION:add SUBSYSTEM:scsi_disk DEVNAME:(null) DEVPATH:/devices/pci0000:00/0000:00:02.1/usb1/1-5/1-5:1.0/host11/target11:0:0/11:0:0:0/scsi_disk/11:0:0:0 |
| + | # mdev[1278]: 49.659244 ACTION:add SUBSYSTEM:scsi_device DEVNAME:(null) DEVPATH:/devices/pci0000:00/0000:00:02.1/usb1/1-5/1-5:1.0/host11/target11:0:0/11:0:0:0/scsi_device/11:0:0: |
| + | # mdev[1279]: 49.660535 ACTION:add SUBSYSTEM:bsg DEVNAME:bsg/11:0:0:0 DEVPATH:/devices/pci0000:00/0000:00:02.1/usb1/1-5/1-5:1.0/host11/target11:0:0/11:0:0:0/bsg/11:0:0:0 |
| + | # mdev[1279]: mknod bsg/11:0:0:0 (253,1) 20660 0:0 |
| + | # mdev[1280]: 49.663516 ACTION:add SUBSYSTEM:bdi DEVNAME:(null) DEVPATH:/devices/virtual/bdi/8:16 |
| + | # mdev[1281]: 49.664748 ACTION:add SUBSYSTEM:block DEVNAME:sdb DEVPATH:/block/sdb |
| + | # mdev[1281]: mknod sdb (8,16) 60660 0:0 |
| + | # mdev[1282]: 49.677597 ACTION:change SUBSYSTEM:block DEVNAME:sdb DEVPATH:/block/sdb |
| + | # mdev[1283]: 50.692936 ACTION:change SUBSYSTEM:block DEVNAME:sdb DEVPATH:/block/sdb |
| + | # |
| + | # We are hooking to the last events. To avoid having two scripts running, |
| + | # we check for DISK_MEDIA_CHANGE=1 (prev to last event has it, |
| + | # and it's the _only_ difference in env for these two events as of kernel 3.7.7) |
| + | # Unfortunately, there is no event for "user pressed [Turn USB storage] btn"! |
| + | # Script merely backgrounds and tries to rescan partition table for 1 minute: |
| + | ACTION=change;SUBSYSTEM=block;DISK_MEDIA_CHANGE=1;.* 0:0 660 */etc/mdev.conf.change_blockdev.sh |