----- Original Message -----
From: "David Brownell" <[EMAIL PROTECTED]>
To: "Ken Hahn" <[EMAIL PROTECTED]>;
<[EMAIL PROTECTED]>


> > In addition, the firmware loading aspect of the linux-hotplug is not
> > solid yet (they have a program (fxload) but not a defined method
> > ( a directory that gets scanned ?).
>
> The defined method involves providing a script in /etc/hotplug/usb/...
> invoking "fxload" with the right firmware for the particular device IDs.
> http://linux-hotplug.sourceforge.net/?selected=usb describes it
> (at the end of the page).
>
I did that. Added to usb.handmap the lines:
bpide6               0x0003 0x0ac9   0x1003    0x0000       0x0000
0x00         0x00            0x00            0x00            0x00
0x00    0x00000000
bpckusb              0x0003 0x0ac9   0x0000    0x0000       0x0000
0x00         0x00            0x00            0x00            0x00
0x00            0x00000000
bpatapi5             0x0003 0x0ac9   0x1000    0x0000       0x0000
0x00         0x00            0x00            0x00            0x00
0x00            0x00000000
bpatapi6             0x0003 0x0ac9   0x1001    0x0000       0x0000
0x00         0x00            0x00            0x00            0x00
0x00            0x00000000
bpide5               0x0003 0x0ac9   0x1002    0x0000       0x0000
0x00         0x00            0x00            0x00            0x00
0x00            0x00000000

In the dir /etc/hotplug/usb I created the files:
bpatapi5  bpatapi6  bpckusb bpide5  bpide6

And a dir, "bpckusbfw", where I put the appropriate hex files

Each script consists of something like this (this is bpatapi6):

#!/bin/sh
#
fxload -I /etc/hotplug/usb/bpckusbfw/BPATAPI6.HEX

When I  plug in the drive I get the log:
Dec 19 11:15:00 marvin kernel: hub.c: USB new device connect on bus1/1,
assigned device number 5
Dec 19 11:15:00 marvin kernel: usb.c: USB device 5 (vend/prod 0xac9/0x0) is
not claimed by any active driver.
Dec 19 11:15:02 marvin /etc/hotplug/usb.agent: Modprobe and setup 0x00
bpckusb for USB product ac9/0/0
Dec 19 11:15:02 marvin modprobe: modprobe: Can't locate module 0x00
Dec 19 11:15:02 marvin /etc/hotplug/usb.agent: ... can't load module 0x00
Dec 19 11:15:02 marvin modprobe: modprobe: Can't locate module bpckusb

I think the error has to do with the lines in hotplug.functions:

            elif find $MODULE_DIR -name $MODULE.o >/dev/null 2>&1 &&
                    ! $MODPROBE $MODULE >/dev/null 2>&1 ; then
                mesg "... can't load module $MODULE"
            elif [ -x /etc/hotplug/$TYPE/$MODULE ]; then
                debug_mesg Module setup $MODULE for $DESCRIPTION
                /etc/hotplug/$TYPE/$MODULE

Find dosen't have a status code that signifies anything about finding the
module. (look at the man page)  This results in the script never being
called.  How has the jphoto script been working?  What dumb thing am I
missing?

I assumed my fix was wrong because of the jphoto script supposedly working.
Am I missing something?
I kludged this to allow loading, so I've had it work here,  but this still
dosen't resolve Olivers issue with firmware  reloading with power
management.  In addition, there is no central package of firmware, so do I
make our own firmware RPM/deb?  No good answer on the linux-hotplug list.
(IMHO scripts for loading firmware should have a separate mechanism from
notifying/launching applications to use a device)

>
> > The BACKPACK USB adapter simply needs a EZ-USB firmware
> > loaded (actually it has one that is loaded to scan until a drive is
> > connected, then the appropriate firmware is loaded when the
> > scan discovers the drive type).
>
> So the kernel gets some kind of notification from the drive (interrupt
> transfer?) saying "I found a drive with this info, give me its firmware"?
Actually we do what you say below.

> The simplest way to do that with EZ-USB would be for that first
> chunk of firmware to force re-enumeration using another device
> ID, which then causes different firmware to load.  But you didn't
> say how that works, so it's hard to suggest any particular option.

Yep, this is exactally how we did it.

So where do I go from here?  Send the fix in to the linux-hotplug list?
Make a module so I can handle suspend?
Thanks for responces so far,

-Ken Hahn



_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to