Since the vendor supplied Windows driver cannot be installed on Solaris, it needs some effort to make the digital camera work on Solaris 10. The steps are as follows:
- Bind the device (digital camera) to the
ugendriver. Then theugendriver can talk to the digital camera (device).ugenis a generic USB driver, which is part of the Solaris USB Driver Development Kit, presents USB devices to applications through a standard read/write UNIX interface.- Remove the
ugendriver from the system, if it was already installed. If in doubt, run the following command anyway:% rem_drv ugen
Driver (ugen) not installed. - Plug-in the camera to the system; and then run
prtconf -vcommand, to find the device ID for the attached digital camera.% prtconf -v
....
device (driver not attached)
Hardware properties:
name='usb-product-name' type=string items=1
value='Sony PTP'
name='usb-vendor-name' type=string items=1
value='Sony'
....
....
name='compatible' type=string items=8
value='usb54c,4e.150' + 'usb54c,4e' + 'usbif54c,class6.1.1' +
'usbif54c,class6.1' + 'usbif54c,class6' + 'usbif,class6.1.1' +
'usbif,class6.1' + 'usbif,class6' name='reg' type=int items=1
value=00000001
.... - Add the driver alias (
usb54c,4e.150in this example.054cis the vendor-id for Sony corporation, and004eis the product-id forDSC-xxx (PTP)) withadd_drvcommand, if this is the first device to be bound tougen. Runadd_drvcommand, as root.% add_drv -m '* 0666 root sys' -i '"usb54c,4e.150"' ugen
Refer to the man page ofadd_drvfor information about-m, -iflags and use of double quotes in specifying a driver alias that contains numbers.
Note:
Ifadd_drvcommand throws an error saying("usb54c,4e.150") already in use as a driver or alias, that means another device is already bound tougen. So, to bind the new device tougen, runupdate_drvcommand, as root.% update_drv -a -m '* 0666 root sys' -i '"usb54c,4e.150"' ugen
Ifupdate_drvstill complains about the driver or alias in use, try to remove the driver and add it again, as explained above - Bind this device (digital camera) to
ugenby default that have no driver% echo "ugen-default-binding=\"usb54c,4e.150\";" >> /kernel/drv/uhci.conf
% echo "ugen-default-binding=\"usb54c,4e.150\";" >> /kernel/drv/ehci.conf
% echo "ugen-default-binding=\"usb54c,4e.150\";" >> /kernel/drv/ohci.conf - Check
/etc/driver_aliasesand make sure that the correct compatible name is in/etc/driver_aliases% grep ugen /etc/driver_aliases
ugen "usb54c,4e.150" - Reboot the machine (only for the very first time)
- Plug-in the camera and use
prtconf -Dto check ifugenhas been bound to the device% prtconf -D | grep ugen
device, instance #1 (driver name: ugen)
- Remove the
- Use
gphoto2, to auto detect the camera.gphoto2is an application that allows users to operate/download images from digital cameras on Solaris (*nix, in general). On Solaris 10,gphoto2is available under/usr/sfw/bindirectory, by default.% gphoto2 --auto-detect
Model Port
----------------------------------------------------------
Sony DSC-F707V (PTP mode) usb: - Now either use
gphoto2command line tool orgtkamGUI tool, to download all the photos.gphoto2 --help, shows all options ofgphoto2gphoto2 -P, downloads all the pictures from the digital camera to the current directorygtkamis also available under/usr/sfw/bindirectory, by default
Note that this is a one time only effort, and these steps need not be repeated everytime the digital camera has been plugged in to the system.
References and suggested reading:
- Solaris USB FAQ
- Dan Price's blog post - gtkam & USB on Solaris 10
- Ben Rockwood's blog post - Canon Rebel XT on OpenSolaris
- White Paper: Using the USB Generic Driver (Ugen) to Access USB Peripherals on Solaris Systems
JDS Linux & Sony DSC-V1/W1 Digital Camera
Thanks to fritS of Sun Microsystems, for his notes on using gphoto2 and gtkam with your digital camera
Technorati tags: solaris opensolaris
0 comments:
Post a Comment