windows 1394b (-800) compatibility question

Hello,
our firewire device can do 1394b. It has got 2 bilingual ports and one
1394a port. The firewire 1394b pci card (ex-6410 with ti chipset) has
also one 1394a port and 2 bilinual ports. Everything works fine as long
as we connect our device with a bilingual cable. But if we connect the
device with a 1394a cable the driver is loaded but the device is not
accessable. Reads return STATUS_IO_DEVICE_ERROR.
If we look at the speed map we found that windows thinks it can do 800MBit.
If we lower the speed manually (REQUEST_SET_DEVICE_XMIT_PROPERTIES) to
400MBit every thing works fine again.
Why does windows not detect the correct speed (400MBit) in our case?

I asked the 1394 team about this issue and this is what they had to say:


Most likely the issue is that they are running on XP SP1 where
1394BUS/OHCI1394.SYS would read the selfid pkt speed field and/or the
1394a PHY register max_speed field and see it set to 11h which indicated
S800 speed device. However, 1394b is not supported (S800 being defined
in 1394b spec) in any version of Windows and so the driver will try to
async read/write/lock at S800 which will result in the
STATUS_IO_DEVICE_ERROR.

Also, most likely the 1394b hc they are using reports a speed of S800
which causes the above speed map entry (1394 hc node to plugged in 1394
device) to be at S800. Under XP SP2 if 1394 hc node’s speed is S800 we
set to S400. Then the resulting speed map entry should be at S400 vs
S800 which should allow things to work without having to do a
REQUEST_SET_DEVICE_XMIT_PROPERTIES.

Please note that there hasn’t bee a lot of testing of 1394b hc’s on any
of the OS’s so possible to get unexpected behavior.

If they have more questions, please point them to xxxxx@microsoft.com and
we can follow up.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of uwe kirst
Sent: Tuesday, June 15, 2004 4:21 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] windows 1394b (-800) compatibility question

Hello,
our firewire device can do 1394b. It has got 2 bilingual ports and one
1394a port. The firewire 1394b pci card (ex-6410 with ti chipset) has
also one 1394a port and 2 bilinual ports. Everything works fine as long
as we connect our device with a bilingual cable. But if we connect the
device with a 1394a cable the driver is loaded but the device is not
accessable. Reads return STATUS_IO_DEVICE_ERROR.
If we look at the speed map we found that windows thinks it can do
800MBit.
If we lower the speed manually (REQUEST_SET_DEVICE_XMIT_PROPERTIES) to
400MBit every thing works fine again.
Why does windows not detect the correct speed (400MBit) in our case?


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com