USB2: [was: umass not detected correctly, axe not transmitting] AXE problems

Hiroharu Tamaru tamaru at myn.rcast.u-tokyo.ac.jp
Wed Feb 11 19:51:22 PST 2009


Hello Pyun,

At Thu, 12 Feb 2009 11:37:23 +0900, Pyun YongHyeon wrote:
> 
> [1  <text/plain; us-ascii (7bit)>]
> On Thu, Feb 12, 2009 at 01:51:47AM +0900, Hiroharu Tamaru wrote:
> > 
> > At Wed, 11 Feb 2009 16:57:36 +0100, Hans Petter Selasky wrote:
> > > > > > ugen3.3: <ASIX Electronics> at usbus3
> > > > > > axe0: <ASIX Electronics AX88178, rev 2.00/0.01, addr 3> on usbus3
> > > > > > axe0: PHYADDR 0xe0:0x18
> > > > > > miibus0: <MII bus> on axe0
> > > > > > ciphy0: <Cicada VSC8211 10/100/1000TX PHY> PHY 24 on miibus0
> > > > > > ciphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,
> > > > > > 1000baseT-FDX, auto ue0: <USB Ethernet> on axe0
> > > > > > ue0: Ethernet address: 00:90:cc:xx:xx:xx
> > > > > > ue0: link state changed to DOWN
> > > > > > ue0: link state changed to UP
> > > > > >
> > > 
> > > > >
> > > > > Turn on debugging:
> > > > >
> > > > > sysctl hw.usb2.axe.debug=15
> > > > >
> > > > > And repeat test.
> > > >
> > > >   with hw.usb2.axe.debug=15, I have:
> > > >
> > > > ugen3.3: <ASIX Electronics> at usbus3 (disconnected)
> > > > pid 3244 (dhclient), uid 65: exited on signal 11
> > > > ugen3.3: <ASIX Electronics> at usbus3
> > > > axe0: <ASIX Electronics AX88178, rev 2.00/0.01, addr 3> on usbus3
> > > > axe0: PHYADDR 0xe0:0x18
> > > > miibus0: <MII bus> on axe0
> > > > ciphy0: <Cicada VSC8211 10/100/1000TX PHY> PHY 24 on miibus0
> > > > ciphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,
> > > > 1000baseT-FDX, auto ue0: <USB Ethernet> on axe0
> > > > ue0: Ethernet address: 00:90:cc:f7:bc:2e
> > > > ue0: link state changed to DOWN
> > > > ue0: link state changed to UP
> > > >
> > > 
> > > > The hardware is a PLANEX GU-1000T ethernet adapter.
> > > >
> 
> 
> I have the same USB controller and latest CURRENT works.
> 
> axe0: <ASIX Electronics AX88178, rev 2.00/0.01, addr 4> on usbus1
> axe0: PHYADDR 0xe0:0x18
> miibus2: <MII bus> on axe0
> ciphy0: <Cicada VSC8211 10/100/1000TX PHY> PHY 24 on miibus2
> ciphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> ue0: <USB Ethernet> on axe0
> ue0: Ethernet address: 00:90:cc:ef:b9:f6
> ue0: link state changed to DOWN
> 
> I manually loaded necessary kernel modules as my kernel does not
> have any USB device entries. The only regression since I tried USB2
> axe(4) was failure of symbol resolving of link_elf in
> usb2_ethernet.ko module. Attached simple patch seems to fix that.
> 
> To Hans,
>  I think MODULE_DEPEND should come first before any reference to
>  the module in usb2_ethernet.c. Since mii_phy_probe live in
>  miibus(4) I added it too.
> 
> > > > What can I do now?
> > > 
> 
> Hiroharu, if you unplug/replug UTP cable, does it make any difference?

No, I tried combinations of repluging UTP cable and
repluging the device itself, but the resuts are always the same.
It receives packets from the wire, but it cannot send one.

But I noticed one thing now.

I also have em0/em1 interfaces, and I am switching with ue0
when I test AXE.

It turned out that although I 'ifconfig em0 inet delete
down' those unused interfaces, the arp table entries remain.
'arp -nda' shows 'delete: cannot locate 192.168.1.1' and the
like for every entry in the table, and they are infact not
deleted.  Deletion fails both when em0 is up and down.


Then again, this time I booted with a configuration such
that em0/em1 are not touched at all, and axe device plugged
with UTP cable from the very start (before powering on), and
the symptom is the same (recive OK, send NG), and this time
the arp table has the single line which corresponds to self
address of ue0/AXE.


I am rebuilding my userland world now, just to make sure (it
used to be Dec. 2008 snapshot), but are there anything that
may be out of sync in the December-Feburary time slot?
Anyway, this should take some good while.

After that, I will try a kernel without USB1 nor USB2
configured, and will load the modules manually as you have
done, with your attached patches.

> > > Does netstat indicate any receive errors on the AXE interface?
> > > 
> > > netstat -i
> > 
> > Nope.
> > 
> > Name    Mtu Network       Address              Ipkts Ierrs    Opkts Oerrs  Coll
> > ...
> > ue0    1500 <Link#4>      00:90:cc:f7:bc:2e       52     0       12     0     0
> > ue0    1500 192.168.1.0   192.168.1.3              0     -        4     -     -
> > 
> > The latter line is the result of statically asigning an address,
> > and then 'ping -n 192.168.1.1'ing for four seconds.
> > 
> > > Maybe "Pyun YongHyeon" should have a look at this.
> > >
> > > And you are running the latest current?
> > 
> > I updated to -current as of about an hour or two ago.
> > 
> 
> PS. Please CC to me I'm not subscribed to the list.
> [2 usb2_ethernet.patch <text/x-diff; us-ascii (7bit)>]
> Index: sys/dev/usb2/ethernet/usb2_ethernet.c
> ===================================================================
> --- sys/dev/usb2/ethernet/usb2_ethernet.c	(revision 188507)
> +++ sys/dev/usb2/ethernet/usb2_ethernet.c	(working copy)
> @@ -43,6 +43,9 @@
>  #define	UE_UNLOCK(_ue)		mtx_unlock((_ue)->ue_mtx)
>  #define	UE_LOCK_ASSERT(_ue, t)	mtx_assert((_ue)->ue_mtx, t)
>  
> +MODULE_DEPEND(usb2_ethernet, usb2_core, 1, 1, 1);
> +MODULE_DEPEND(usb2_ethernet, miibus, 1, 1, 1);
> +
>  static struct unrhdr *ueunit;
>  
>  static usb2_proc_callback_t ue_attach_post_task;
> @@ -582,4 +585,3 @@
>  
>  DECLARE_MODULE(usb2_ethernet, usb2_ether_mod, SI_SUB_PSEUDO, SI_ORDER_ANY);
>  MODULE_VERSION(usb2_ethernet, 1);
> -MODULE_DEPEND(usb2_ethernet, usb2_core, 1, 1, 1);


Thanks,
Hiroharu


More information about the freebsd-usb mailing list