On 2010-11-17, Jochen Fabricius <[email protected]> wrote:
>> On Tue, Nov 16, 2010 at 11:24:37PM +0100, Jochen Fabricius wrote:
>> > Hi all, 
>> > 
>> > today I discovered that my network connection on an Acer Aspire X3900 is 
>> > only 10baseT. Never realized it before because the speed is enough (mostly 
>> > relatively slow internet connection, no large files to/from other 
>> > machines). System is 4.8-release. 
>> > 
>> > I checked: 
>> > - wiring: even at shortest connection to the switch only 10baseT was 
>> > available
>> > - other switches
>> > - other machines with the same cables, same port on switch
>> > 
>> > The PHY is a 82578, and as I understand the commit messages the support is 
>> > still "basic", but shouldn't at least 100baseTX work? That's what all my 
>> > switches support. I have to check with a 1 GbE switch, but I don't know if 
>> > I can get one in the next time. Has anyone higher speeds working with this 
>> > PHY? 
>> 
>> This is a known issue with the 82578DC (82578DM doesn't show it).
>> It is likely something along the lines of missing workarounds
>> for particular revisions of the phy.
>> 
>
> I was afraid of that. Is there anything I could do, maybe send some more 
> information (which?) for solving these issues? 

The following diff was just committed to -current which should fix this.


Index: if_em_hw.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_em_hw.c,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -p -r1.64 -r1.65
--- if_em_hw.c  2 May 2011 12:25:42 -0000       1.64
+++ if_em_hw.c  2 May 2011 18:16:58 -0000       1.65
@@ -31,7 +31,7 @@
 
 
*******************************************************************************/
 
-/* $OpenBSD: if_em_hw.c,v 1.64 2011/05/02 12:25:42 jsg Exp $ */
+/* $OpenBSD: if_em_hw.c,v 1.65 2011/05/02 18:16:58 dhill Exp $ */
 /*
  * if_em_hw.c Shared functions for accessing and configuring the MAC
  */
@@ -9863,20 +9863,6 @@ em_hv_phy_workarounds_ich8lan(struct em_
        }
 
        if (hw->phy_type == em_phy_82578) {
-               if (hw->revision_id < 3) {
-                       /* PHY config */
-                       ret_val = em_write_phy_reg(hw, (1 << 6) | 0x29,
-                                                  0x66C0);
-                       if (ret_val)
-                               goto out;
-
-                       /* PHY config */
-                       ret_val = em_write_phy_reg(hw, (1 << 6) | 0x1E,
-                                                  0xFFFF);
-                       if (ret_val)
-                               goto out;
-               }
-
                /*
                 * Return registers to default by doing a soft reset then
                 * writing 0x3140 to the control register.

Reply via email to