[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RELENG_7] SBP Drives not recognized






This looks an awful lot like my issues with sbp_targ from previous emails and may indicate a more serious failure in fwohci.c or firewire.c

Or, it may indicate that I have no idea what I am doing.  :)

This SBP-2 device is a external 2 disk enclosure with an Oxford Semicondoctor F/W controller. It seems to work just fine with linux and windows.

[sean_(_at_)_home-test ~]$ sudo fwcontrol -t
crc_len: 4 generation:8 node_count:2 sid_count:2
id link gap_cnt speed delay cIRM power port0 port1 port2 ini more
00    1       5  S800     0    0   -1W     -     -     P   0    0
01    1       5  S800     0    1   -1W     C     -     -   1    0

[sean_(_at_)_home-test ~]$ sudo fwcontrol -p
=== base register ===
0x07 0x85 0xe3 0xe2 0xc4 0x03 0x50 0x00
Physical_ID:1  R:1  CPS:1
RHB:1  IBR:0  Gap_Count:5
Extended:7 Num_Ports:3
PHY_Speed:7 Delay:2
LCtrl:1 C:1 Jitter:0 Pwr_Class:4
WDIE:0 ISBR:0 CTOI:0 CPSI:0 STOI:0 PEI:0 EAA:1 EMC:1
Max_Legacy_SPD:2 BLINK:1 Bridge:0
Page_Select:0 Port_Select0

=== page 0 port 0 ===
0xfe 0x40 0xbb 0x00 0x00 0x00 0x00 0x00
Astat:3 BStat:3 Ch:1 Con:1 RXOK:1 Dis:0
Negotiated_speed:2 PIE:0 Fault:0 Stanby_fault:0 Disscrm:0 B_Only:0
DC_connected:1 Max_port_speed:3 LPP:1 Cable_speed:3
Connection_unreliable:0 Beta_mode:0
Port_error:0x0
Loop_disable:0 In_standby:0 Hard_disable:0

=== page 0 port 1 ===
0xf8 0x60 0x3b 0x00 0x00 0x00 0x00 0x00
Astat:3 BStat:3 Ch:1 Con:0 RXOK:0 Dis:0
Negotiated_speed:3 PIE:0 Fault:0 Stanby_fault:0 Disscrm:0 B_Only:0
DC_connected:0 Max_port_speed:3 LPP:1 Cable_speed:3
Connection_unreliable:0 Beta_mode:0
Port_error:0x0
Loop_disable:0 In_standby:0 Hard_disable:0

=== page 0 port 2 ===
0xf8 0x60 0x3b 0x00 0x00 0x00 0x00 0x00
Astat:3 BStat:3 Ch:1 Con:0 RXOK:0 Dis:0
Negotiated_speed:3 PIE:0 Fault:0 Stanby_fault:0 Disscrm:0 B_Only:0
DC_connected:0 Max_port_speed:3 LPP:1 Cable_speed:3
Connection_unreliable:0 Beta_mode:0
Port_error:0x0
Loop_disable:0 In_standby:0 Hard_disable:0

=== page 1 ===
0x02 0x00 0x08 0x00 0x28 0x83 0x13 0x04
Compliance:2
Vendor_ID:0x080028
Product_ID:0x831304

_______________________________________________
freebsd-firewire_(_at_)_freebsd_(_dot_)_org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-firewire
To unsubscribe, send any mail to "freebsd-firewire-unsubscribe_(_at_)_freebsd_(_dot_)_org"

Ok, the failure case is that the firewire/sbp code is using the "max" speed instead of the negotiated speed.

So, since "fwdev->spd" is what is being used to determine the speed, is it appropriate to mimic "fwcontrol" and grab the phy_page_0 to figure out the negotiated speed?

Is it appropriate to check the phy_page during fw_sidrcv() when the driver creates the "speed map"?



Sean
_______________________________________________
freebsd-firewire_(_at_)_freebsd_(_dot_)_org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-firewire
To unsubscribe, send any mail to "freebsd-firewire-unsubscribe_(_at_)_freebsd_(_dot_)_org"


Visit your host, monkey.org