Re: [RELENG_7] SBP Drives not recognized

Sean Bruno <[email protected]>
Newsgroups gmane.os.freebsd.devel.firewire
Message-ID <[email protected]>
>
>
> 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@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@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
>
> _______________________________________________
> [email protected] mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-firewire
> To unsubscribe, send any mail to 
> "[email protected]"

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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-firewire
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.