3 # H3600 Sleeve hotplug policy agent for Linux 2.4 kernels
5 # Kernel NET hotplug params include:
7 # ACTION=%s [add or remove]
13 . /etc/hotplug/hotplug.functions
14 #DEBUG=yes export DEBUG
16 if [ "$DEBUG" != "" ]; then
17 mesg "Executing $0 action=$ACTION, device=$DEVICE_NAME ($VENDOR_ID,$DEVICE_ID)"
20 COMPACTFLASH_TIMING_INCREMENT=0
21 PCMCIA_TIMING_INCREMENT=0
22 DUAL_PCMCIA_TIMING_INCREMENT=0
23 NAVMAN_TIMING_INCREMENT=0
24 BACKPAQ_TIMING_INCREMENT=-100
26 if [ -f /etc/sysconfig/hotplug ] ; then
27 . /etc/sysconfig/hotplug
33 "Compaq Mercury Backpaq")
35 echo $BACKPAQ_TIMING_INCREMENT > /proc/sys/backpaq/pcmcia/timing_increment_ns
36 ## mount -t jffs2 /dev/mtdblock/4 /backpaq
37 modprobe h3600_backpaq_fpga || mesg 'could not load backpaq fpga driver'
38 modprobe h3600_backpaq_camera || mesg 'could not load backpaq camera driver'
39 if [ -c /dev/v4l/video0 ] ; then
40 ln -s /dev/v4l/video0 /dev/video0
41 ln -s /dev/v4l/video0 /dev/video
43 CAMERATYPE=`/bin/grep "CameraType" /proc/backpaq/camera | /bin/sed -e 's/.*: //'`
44 BACKPAQ_NUMBER=`/bin/grep "Major revision" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
45 FPGA_NUMBER=`/bin/grep "FPGA version" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
46 CAMERA_NUMBER=`/bin/grep "Camera" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
48 echo "CAMERA_TYPE = $CAMERATYPE"
49 echo "BACKPAQ_NUMBER = $BACKPAQ_NUMBER"
50 echo "FPGA_NUMBER = $FPGA_NUMBER"
51 echo "CAMERA_NUMBER = $CAMERA_NUMBER"
52 echo "looking for file: /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin"
53 if [ -e /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin ] ; then
54 cat /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin > /dev/backpaq/fpga
55 elif [ -e /etc/fpga_$CAMERATYPE.bin ] ; then
56 cat /etc/fpga_$CAMERATYPE.bin > /dev/backpaq/fpga
57 elif [ -e /etc/fpga.bin ] ; then
58 cat /etc/fpga.bin > /dev/backpaq/fpga
60 mesg 'unable to program the backpaq fpga'
62 modprobe h3600_backpaq_accel || mesg 'could not load backpaq accelerometer driver'
63 mesg 'BackPAQ drivers loaded'
65 "Compaq CompactFlash Sleeve")
66 mesg 'CompactFlash drivers loaded'
67 echo $COMPACTFLASH_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
69 "Compaq PC Card Sleeve")
70 mesg 'PC card sleeve drivers loaded'
71 echo $PCMCIA_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
73 "Compaq Dual PC Card Sleeve")
74 mesg 'Dual PC card sleeve drivers loaded'
75 echo $DUAL_PCMCIA_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
77 "Navman GPS/CF Sleeve")
78 mesg 'Navman GPS sleeve drivers loaded'
79 echo $NAVMAN_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
80 start-stop-daemon --start --exec /usr/sbin/gpsd.bin -- -p /dev/tts/0 -s 57600
83 mesg "$1 $ACTION event not handled for $DEVICE_NAME"
90 "Compaq Mercury Backpaq")
91 mesg 'Unloading BackPAQ drivers'
93 rmmod h3600_backpaq_camera
94 rmmod h3600_backpaq_accel
95 rmmod h3600_backpaq_fpga
97 "Compaq CompactFlash Sleeve")
98 mesg 'Unloading CompactFlash sleeve'
100 "Compaq PC Card Sleeve")
101 mesg 'Unloading PC Card sleeve'
103 "Compaq Dual PC Card Sleeve")
104 mesg 'Unloading Dual PC Card sleeve'
106 "Navman GPS/CF Sleeve")
107 mesg 'Unloading Navman GPS sleeve'
108 start-stop-daemon --stop --name gpsd.bin
111 mesg $1 $ACTION event not handled for $DEVICE_NAME
117 mesg "$1 $ACTION event not supported"