OESF | ELSI | pdaXrom | OpenZaurus | Zaurus Themes | Community Links | Ibiblio

IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> Asix Ax88790 Driver For Socket Rugged Cf 10/100 Ethernet, Is this available for the Angstrom on Zaurus?
Jon_J
post Dec 12 2008, 12:20 PM
Post #1





Group: Members
Posts: 1,843
Joined: 31-December 05
From: Illinois USA
Member No.: 8,821



I have this CF ethernet card, which uses Asix AX88790 driver
Has anyone used this card in 2.6 kernels?
I read somewhere that the AX88790 driver is only available for 2.6 kernels.

Socket Rugged CF 10/100™ card
Model number: EA2917 - 722, Rugged CF 10/100 Ethernet
Additional info - this card uses this chip:
The Rugged CF 10/100 card utilizes the Asix AX88790 L 10/100BASE 3-in-1 PCMCIA Fast Ethernet Controller.
http://www.socketmobile.com/products/netwo...0-100-ethernet/

----------
PCMCIA card Info and Config app in Settings:
Information for socket 1
State: ready
Device:
Driver:
Type:
I/O 0x4840300-0xc484031f
IRQ: 169
Flags: CD VCC

----------
pccardctl ident
Socket 1:
product info: "Socket", "CF 10/100 Ethernet Card", "Revision B", "05/11/06"
manfid: 0x0104, 0x02d2
function: 6 (network)

----------
pccardctl info
PRODID_1="Socket"
PRODID_2="CF 10/100 Ethernet Card"
PRODID_3="Revision B"
PRODID_4="05/11/06"
MANFID=0104,02d2
FUNCID=6

----------
dmesg
<5>pccard: PCMCIA card inserted in slot 1
<5>pccard: registering new device pcmcia1.0
<6>eth0: NE2000 Compatible: io 0xc4840300, irq 169, auto xcvr, hw_addr 00:c0:1b:07:d5:3a
<6>NET: Registered protocol family 17

----------
ifconfig
eth0
Link encap:Ethernet HWaddr 00:C0:1B:07:D5:3A
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:1 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 cool.gif TX bytes:5163 (5.0 KiB)
Interrupt:169 Base address:0x300

eth0:avah Link encap:Ethernet HWaddr 00:C0:1B:07:D5:3A
inet addr:169.254.5.130 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:169 Base address:0x300
----------

I'm not giving up easily on this card since it is brand new, and I cannot return it.
Here is a post about someone getting this working for 2.6 kernel
http://www.mail-archive.com/linux-pcmcia@l...g/msg00051.html

Socket indicates that this chip has a Phy bug and they provide a workaround.
CODE
ftp://ftp.socketcom.com/ea/Rugged_10-100_Driver_Changes_07-2006.zip

Attached File(s)
Attached File  Socket_Rugged_CF_10_100_card.jpg ( 28.39K ) Number of downloads: 2
 
Go to the top of the page
 
+Quote Post
Capn_Fish
post Dec 13 2008, 12:36 PM
Post #2





Group: Members
Posts: 2,350
Joined: 30-July 06
Member No.: 10,575



It looks like this is what you need:

http://www.angstrom-distribution.org/repo/...module-axnet-cs
Go to the top of the page
 
+Quote Post
Jon_J
post Dec 13 2008, 01:36 PM
Post #3





Group: Members
Posts: 1,843
Joined: 31-December 05
From: Illinois USA
Member No.: 8,821



Thank you for looking into this for me. smile.gif
It looks like there isn't any for Zaurus. The listings are either simpad, or h220, or hx4700.
And I think I need AX88790, not AX88190. (I'm not sure of this though.)
CODE
axnet-cs kernel module; Asix AX88190 PCMCIA ethernet driver

    * kernel-module-axnet-cs 2.6.24-r9 for simpad (Ångström 2007.12 glibc simpad machine feed feed)
    * kernel-module-axnet-cs 2.6.24-r17.1 for simpad (Ångström 2008.6 glibc simpad machine feed feed)
    * kernel-module-axnet-cs 2.6.24-r14 for simpad (Ångström 2008.6 uClibc simpad machine feed feed)
    * kernel-module-axnet-cs 2.6.21-hh20-r21.1 for h2200 (Ångström 2008.6 glibc h2200 machine feed feed)
    * kernel-module-axnet-cs 2.6.21-hh20-r21.1 for hx4700 (Ångström 2008.6 glibc hx4700 machine feed feed)
    * kernel-module-axnet-cs 2.6.21-hh20-r20 for h2200 (Ångström 2008.6 uClibc h2200 machine feed feed)
    * kernel-module-axnet-cs 2.6.21-hh20-r20 for hx4700 (Ångström 2008.6 uClibc hx4700 machine feed feed)
    * kernel-module-axnet-cs 2.6.21-hh20-r16 for h2200 (Ångström 2007.12 glibc h2200 machine feed feed)
    * kernel-module-axnet-cs 2.6.21-hh20-r16 for hx4700 (Ångström 2007.12 glibc hx4700 machine feed feed)
Go to the top of the page
 
+Quote Post
Capn_Fish
post Dec 14 2008, 08:10 AM
Post #4





Group: Members
Posts: 2,350
Joined: 30-July 06
Member No.: 10,575



One more thing to add to my build list...
Go to the top of the page
 
+Quote Post
Jon_J
post Dec 16 2008, 09:03 PM
Post #5





Group: Members
Posts: 1,843
Joined: 31-December 05
From: Illinois USA
Member No.: 8,821



I think I can use the AX88190 driver, if it is available.
It does mention that this is a patch against 2.6.15
Does that mean it will not work with 2.6.24 kernel?
The phy bug work around is shown here, and seems to use the AX88190 driver
CODE
Re: AX88790 L phy workaround

Todd Blumer
Tue, 12 Sep 2006 14:35:15 -0700

On 9/12/06, Todd Blumer <[EMAIL PROTECTED]> wrote:

    I am in need of adding driver support for the Socket Rugged CF
    Ethernet card. It uses the AX88790 L chip. Socket indicates that this
    chip has a Phy bug and they provide a workaround.
    ftp://ftp.socketcom.com/ea/Rugged_10-100_Driver_Changes_07-2006.zip
    I'm guessing that  the problem is only in a recent revision (the L
    revision?) of the chip since I don't see such a workaround in the
    standard axnet_cs.c driver.

    Has anyone done this workaround? Any other comments or suggestions?
    Otherwise, I'll try to implement these changes and submit a patch.

Here's a patch (against 2.6.15) that works with the Socket Rugged CF
10/100 Card. Comments welcome.

--
Todd Blumer
SDG Systems

Index: drivers/net/pcmcia/axnet_cs.c
===================================================================
--- drivers/net/pcmcia/axnet_cs.c    (revision 332)
+++ drivers/net/pcmcia/axnet_cs.c    (working copy)
@@ -13,6 +13,10 @@

     axnet_cs.c 1.28 2002/06/29 06:27:37

+    Changelog:
+
+    Todd Blumer        : added PHY bug workaround for AX88790
+
     The network driver code is based on Donald Becker's NE2000 code:

     Written 1992,1993 by Donald Becker.
@@ -59,6 +63,18 @@
#define AXNET_START_PG    0x40    /* First page of TX buffer */
#define AXNET_STOP_PG    0x80    /* Last page +1 of RX ring */

+#define AXNET_PHY_MR0        0
+#define AXNET_MR0_SW_RESET    (1<<15)
+#define AXNET_MR0_LOOPBACK    (1<<14)
+#define AXNET_MR0_SPEED100    (1<<13)
+#define AXNET_MR0_NWAY_ENA    (1<<12)
+#define AXNET_MR0_PWRDN        (1<<11)
+#define AXNET_MR0_ISOLATE    (1<<10)
+#define AXNET_MR0_REDONWAY    (1<<9)
+#define AXNET_MR0_FULL_DUP    (1<<8)
+#define AXNET_MR0_COLTST    (1<<7)
+/* remaining bits are reserved */
+
#define AXNET_RDC_TIMEOUT 0x02    /* Max wait in jiffies for Tx RDC */

#define IS_AX88190    0x0001
@@ -439,6 +455,22 @@
     }

     info->phy_id = (i < 32) ? i : -1;
+    if ((info->flags & IS_AX88790) && (info->phy_id != -1)) {
+    int data;
+    /*
+     * The AX88790L has a bug in the auto-negotiation (AN). A work-around
+     * is to turn off the phy, wait 2.5 secs, then re-enable AN. Once this
+     * action is taken, AN works fine.
+     *
+     * Note: this chip is in the Socket Rugged CF Ethernet card
+     */
+    data = mdio_read(dev->base_addr+ AXNET_MII_EEP, info->phy_id, AXNET_PHY_MR0);
+    mdio_write(dev->base_addr + AXNET_MII_EEP,
+        info->phy_id, AXNET_PHY_MR0, data | AXNET_MR0_PWRDN );
+    mdelay(2500);
+    mdio_write(dev->base_addr + AXNET_MII_EEP,
+        info->phy_id, AXNET_PHY_MR0, data | AXNET_MR0_REDONWAY | AXNET_MR0_NWAY_ENA);
+    }
     link->dev = &info->node;
     link->state &= ~DEV_CONFIG_PENDING;
     SET_NETDEV_DEV(dev, &handle_to_dev(handle));
@@ -852,6 +884,7 @@
    PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0309),
    PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1106),
    PCMCIA_DEVICE_MANF_CARD(0x8a01, 0xc1ab),
+    PCMCIA_DEVICE_MANF_CARD(0x0104, 0x02d2), /* "Socket", "CF 10/100 Ethernet Card", "Revision B", "05/11/06" */
    PCMCIA_DEVICE_PROD_ID124("Fast Ethernet", "16-bit PC Card", "AX88190", 0xb4be14e3, 0x9a12eb6a, 0xab9be5ef),
    PCMCIA_DEVICE_PROD_ID12("ASIX", "AX88190", 0x0959823b, 0xab9be5ef),
    PCMCIA_DEVICE_PROD_ID12("Billionton", "LNA-100B", 0x552ab682, 0xbc3b87e1),

_______________________________________________


Re: AX88790 L phy workaround

Matthew Wilcox
Sun, 17 Sep 2006 06:01:42 -0700

On Tue, Sep 12, 2006 at 05:33:53PM -0400, Todd Blumer wrote:
> Here's a patch (against 2.6.15) that works with the Socket Rugged CF
> 10/100 Card. Comments welcome.
> +      * The AX88790L has a bug in the auto-negotiation (AN). A work-around
> +      * is to turn off the phy, wait 2.5 secs, then re-enable AN. Once this
> +      * action is taken, AN works fine.
> +     mdelay(2500);

mdelay is going to busy-wait for 2.5 seconds; can you not msleep()
instead?  I don't think you're holding any locks at this point, nor do I
think you're in interrupt context, so sleeping should be OK.

_______________________________________________


Re: AX88790 L phy workaround

Todd Blumer
Sat, 23 Sep 2006 07:22:38 -0700

On 9/17/06, Matthew Wilcox <[EMAIL PROTECTED]> wrote:
> On Tue, Sep 12, 2006 at 05:33:53PM -0400, Todd Blumer wrote:
> > Here's a patch (against 2.6.15) that works with the Socket Rugged CF
> > 10/100 Card. Comments welcome.
> > +      * The AX88790L has a bug in the auto-negotiation (AN). A work-around
> > +      * is to turn off the phy, wait 2.5 secs, then re-enable AN. Once this
> > +      * action is taken, AN works fine.
> > +     mdelay(2500);
>
> mdelay is going to busy-wait for 2.5 seconds; can you not msleep()
> instead?  I don't think you're holding any locks at this point, nor do I
> think you're in interrupt context, so sleeping should be OK.
>
Yes, you are correct, and that works fine. Thanks.
Go to the top of the page
 
+Quote Post
Capn_Fish
post Dec 17 2008, 04:45 AM
Post #6





Group: Members
Posts: 2,350
Joined: 30-July 06
Member No.: 10,575



I'd guess that the patch either applies fine or is added in upstream.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 25th October 2014 - 02:14 AM