bus-powered ZIP 750 (was Re: firewire 800 trouble)

From: Stefan Richter <stefanr_at_s5r6.in-berlin.de>
Date: Fri 03 Dec 2004 - 00:19:30 CET
Message-ID: <22ed710b89d8ea2198835681ec8bd15b@localhost>

Dan Dennedy wrote:
> On Tue, 2004-11-30 at 19:07 -0500, F. Heitkamp wrote:
>> The FW drive works fine with the G4 Mac. The FW800 card in the PC has a
>> connector plugged into a disk drive cable for extra power. I'll see if
>> enough power is supplied under Windows and report back.

As Harald wrote in another reply, most Macs apply a higher voltage to their Firewire
ports. The cable attached to your PCI card is not an indication per se that there are more
than the usual 12 V put out to the bus. (Would require a power converter on the card.)

> IIRC, there is a power management part of the specification - part of
> bus management, which Linux1394 does not implement. I do not know
> anything more about this, but your device might be expecting something
> we are not providing.

I have seen two kinds of bus-powered SBP-2 devices so far:
- Those which don't care about available power vs. drained power and operate as soon as
there is a minimum voltage available,
- an exotic 5.25" enclosure that works with bus power if the voltage is (probably) 20 V
minimum, else it has to be operated by its own PSU.

The correct behaviour of bus power consumers who require more than 3 W is that they
initially only power up their physical interface chip. They should not power up their
higher functions but wait for a special packet from the IRM (isochronous resource manager)
or BM (bus manager). The consumer reports in its selfID packet how much power it requires
and that its link layer is off.

A BM is required to check all selfIDs for the sum of required power vs. available power.
He selectively switches the link layers of consumers of more than 3 W on. Windows and Mac
OS implement BM functionality.

An IRM may send out link-on packets too if there is no BM present but is not required to
check for actual available power. Linux implements IRM to a certain degree, but not the
power management functionality.

The ZIP drive requires the link-on packet if gscanbus shows in the selfID info that the
link is off, or if selfID-packet & 0x0400 == 0. (The selfIDs are logged in dmesg if you
enable debug logging. Well, better check it whith gscanbus.) You can manually send a
link-on packet with Manfred Weihs' 1394commander:
echo p 0xNN000000 | 1394commander
Replace 'NN' by the nodeID + 0x40. If there is only the ZIP drive connected to the PC, it
has propably nodeID 0. I.e. type
echo p 0x40000000 | 1394commander

After that, the drive should activate its link and transaction layers (and drive
mechanics), issue a bus reset, and make itself known as an SBP-2 device. Check the selfID
and CSR info in gscanbus again.

-- 
Stefan Richter
-=====-=-=-- ==-- ---=-
http://arcgraph.de/sr/
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
mailing list Linux1394-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux1394-user
Received on Fri Dec 3 00:20:55 2004

This archive was generated by hypermail 2.1.8 : Mon 02 May 2005 - 09:16:51 CEST