use board serial number from device tree
[linux-usb-otg] / usb-composite-all.sh
index 724db99..4593a01 100755 (executable)
@@ -1,12 +1,17 @@
-#!/bin/bash
+#!/bin/bash -e
+
 # this file is from: https://github.com/ckuethe/usbarmory/wiki/USB-Gadgets
 echo "creating composite mass-storage, serial, ethernet, hid..."
 modprobe libcomposite
 
 # assumes a disk image exists here...
 # this file is from: https://github.com/ckuethe/usbarmory/wiki/USB-Gadgets
 echo "creating composite mass-storage, serial, ethernet, hid..."
 modprobe libcomposite
 
 # assumes a disk image exists here...
-FILE=/home/pi/hardpass/usbdisk.img
+FILE=`pwd`/usbdisk.img
 mkdir -p ${FILE/img/d}
 mkdir -p ${FILE/img/d}
-mount -o loop,ro,offset=2048 -t vfat $FILE ${FILE/img/d}
+if [ ! -e $FILE ] ; then
+       dd if=/dev/zero of=$FILE bs=1M count=8
+       mkfs.vfat $FILE
+fi
+#mount -o loop,ro,offset=2048 -t vfat $FILE ${FILE/img/d}
 cd /sys/kernel/config/usb_gadget/
 
 mkdir -p g1
 cd /sys/kernel/config/usb_gadget/
 
 mkdir -p g1
@@ -19,12 +24,12 @@ echo 0x0100 > bcdDevice # v1.0.0
 echo 0x0200 > bcdUSB # USB2
 
 mkdir -p strings/0x409
 echo 0x0200 > bcdUSB # USB2
 
 mkdir -p strings/0x409
-echo "fedcba9876543210" > strings/0x409/serialnumber
-echo "girst" > strings/0x409/manufacturer 
-echo "Hardpass" > strings/0x409/product 
+echo `cat /proc/device-tree/serial-number` > strings/0x409/serialnumber
+echo `uname -r` > strings/0x409/manufacturer 
+echo `hostname -s` > strings/0x409/product 
 
 N="usb0"
 
 N="usb0"
-mkdir -p functions/acm.$N
+mkdir -p functions/acm.gs0
 mkdir -p functions/ecm.$N
 mkdir -p functions/hid.$N
 mkdir -p functions/mass_storage.$N
 mkdir -p functions/ecm.$N
 mkdir -p functions/hid.$N
 mkdir -p functions/mass_storage.$N
@@ -51,8 +56,8 @@ C=1
 mkdir -p configs/c.$C/strings/0x409
 echo "Config $C: ECM network" > configs/c.$C/strings/0x409/configuration 
 echo 250 > configs/c.$C/MaxPower 
 mkdir -p configs/c.$C/strings/0x409
 echo "Config $C: ECM network" > configs/c.$C/strings/0x409/configuration 
 echo 250 > configs/c.$C/MaxPower 
-ln -s functions/acm.$N configs/c.$C/
-ln -s functions/ecm.$N configs/c.$C/
+ln -s functions/acm.gs0 configs/c.$C/
+#ln -s functions/ecm.$N configs/c.$C/
 ln -s functions/mass_storage.$N configs/c.$C/
 ln -s functions/hid.$N configs/c.$C/
 
 ln -s functions/mass_storage.$N configs/c.$C/
 ln -s functions/hid.$N configs/c.$C/