RPI ue[x] problems

Karl Denninger karl at denninger.net
Tue Jul 21 19:52:03 UTC 2015


Raspberry Pi (not the "2"); configuration:

KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2015 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 10.2-PRERELEASE #0 r285132: Sun Jul  5 05:23:06 UTC 2015
    root at releng1.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/RPI-B arm
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
VT: init without driver.
CPU: ARM1176JZ-S rev 7 (ARM11J core)
 Supported features: ARM_ISA THUMB2 JAZELLE ARMv4 Security_Ext
 WB enabled LABT branch prediction enabled
  16KB/32B 4-way instruction cache
  16KB/32B 4-way write-back-locking-C data cache
real memory  = 503312384 (479 MB)
avail memory = 483221504 (460 MB)

....


ue0: <USB Ethernet> on smsc0
ue0: Ethernet address: b8:27:eb:59:d3:3d
Starting Network: lo0 ue0.
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ue1: <USB Ethernet> on axe0
ue1: Ethernet address: 8c:ae:4c:f9:c1:8a
Starting Network: ue1.
ue1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500


Here's the (set of) problems:

root at IPGw:/home/karl # ifconfig ue0
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80001<RXCSUM,LINKSTATE>
        ether b8:27:eb:59:d3:3d
        inet 192.168.1.200 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
root at IPGw:/home/karl #

Ok, so we auto-detected 100BaseTX.  So far so good.  Now set it explicitly:

root at IPGw:/home/karl # ifconfig ue0 media 100BaseTX mediaopt full-duplex

root at IPGw:/home/karl # ifconfig ue0
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80001<RXCSUM,LINKSTATE>
        ether b8:27:eb:59:d3:3d
        inet 192.168.1.200 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet 100baseTX <full-duplex>
        status: no carrier
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
root at IPGw:/home/karl #

Heh, where'd it go?  Hmmmm.... that's not so good; probably a good thing
I have a second interface and I'm on it eh?  Let's turn that back to
"auto"...

root at IPGw:/home/karl # ifconfig ue0
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80001<RXCSUM,LINKSTATE>
        ether b8:27:eb:59:d3:3d
        inet 192.168.1.200 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

And it's ok again.

Well, sort of ok.  It flaps up and down occasionally, which isn't so
good and what got my attention with an attempt to pin it in the first
place.  Maybe once an hour it will flip down and back up, which drives
my SNMP monitor NUTS.

It's worse if you have a second adapter on one of the USB ports (and I do.)

If you DON'T set that one explicitly it will flap incessantly -- every
few minutes.  And...

ue1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80008<VLAN_MTU,LINKSTATE>
        ether 8c:ae:4c:f9:c1:8a
        inet 70.169.168.97 netmask 0xffffff80 broadcast 70.169.168.127
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
root at IPGw:/home/karl #

OK, so it's full duplex, right?  Yes, if you set it auto.  But if you
set it to 100baseTX and full-duplex on the options, the switch says no,
you got half-duplex.

root at IPGw:/home/karl # ifconfig ue1 media 100baseTX mediaopt full-duplex
root at IPGw:/home/karl #
root at IPGw:/home/karl # ifconfig ue1
ue1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80008<VLAN_MTU,LINKSTATE>
        ether 8c:ae:4c:f9:c1:8a
        inet 70.169.168.97 netmask 0xffffff80 broadcast 70.169.168.127
        media: Ethernet 100baseTX <full-duplex>
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

We think it's full duplex but...



The switch says no, you got half-duplex.....

But at least it's stable and doesn't flap on an every-few-minutes basis
if you set the media type manually.... too bad I can't do that with the
ue0 interface without it failing to connect at all (to the same make and
model switch but on a different network, incidentally.)

Other than that this little $35 computer is remarkably stable running
FreeBSD-PRE and for what it is the performance isn't all that bad.  I/O
is slow as molasses but that's what you expect on an SD card. (Lack of a
supported packages repo makes for very long ways in building ports form
source, but thus far what I've built - including SVN so I can track
things -- has worked.)

Build is:

FreeBSD 10.2-PRERELEASE #0 r285132: Sun Jul  5 05:23:06 UTC 2015    
root at releng1.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/RPI-B

Any ideas?

-- 
Karl Denninger
karl at denninger.net <mailto:karl at denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2944 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.freebsd.org/pipermail/freebsd-embedded/attachments/20150721/b95263c4/attachment.bin>


More information about the freebsd-embedded mailing list