Ubiquiti EdgeRouter Lite works multi-user with -CURRENT.

Warner Losh imp at bsdimp.com
Mon May 20 14:49:29 UTC 2013


On May 20, 2013, at 8:40 AM, Milan Obuch wrote:

> On Mon, 20 May 2013 07:25:30 -0600, Warner Losh <imp at bsdimp.com> wrote:
> 
>> 
>> On May 20, 2013, at 3:06 AM, Milan Obuch wrote:
>> 
>>> On Fri, 17 May 2013 10:52:47 -0700, Juli Mallett
>>> <jmallett at FreeBSD.org> wrote:
>>> 
>>>> On Fri, May 17, 2013 at 10:45 AM, Joe Holden <lists at rewt.org.uk>
>>>> wrote:
>>>>> 16 possible pins on the controller?  There is only one pin on the
>>>>> board, and that is the F/D button on the back.
>>>> 
>>>> Octeon supports up to 16 GPIO pins and interrupts.  I'd suspect
>>>> there are other things connected up with GPIO on-board than GPIO
>>>> pins exposed to the outside world, but even if that's not the
>>>> case, that's still the number of GPIO pins the SoC supports.
>>>> 
>>>> It's possible that the EdgeRouter Lite uses a different pin for its
>>>> F/D button.  According to the driver, gonzo used the CAM-0100's pin
>>>> assignment as the default.  It should be easy to extract a list of
>>>> pin assignments we care about from looking at the patches from
>>>> Ubiquiti to the Simple Executive and Linux, but I haven't looked
>>>> personally.  (I don't ever use GPIO on Octeon.)
>>>> 
>>>> The octeon_gpio_pins array probably needs to be configured at boot
>>>> based on board type.  (So it should normally be 16 items (or 16
>>>> plus a terminator) and get filled out by board type, I'd say.)
>>>> 
>>>> Thanks,
>>>> Juli.
>>> 
>>> Hi,
>>> 
>>> I am trying to compile new kernel to test GPIO pins, however, no
>>> success for some time - kernel linking ends with error:
>>> 
>>> linking kernel.debug
>>> ld: kernel.debug: warning: allocated section `.sdata' not in segment
>>> ethernet-common.o: In function `cvm_assign_mac_address':
>>> /usr/src/sys/mips/cavium/octe/ethernet-common.c:110: undefined
>>> reference to
>>> `cvmx_mgmt_port_num_ports' /usr/src/sys/mips/cavium/octe/ethernet-common.c:110:
>>> relocation truncated to fit: R_MIPS_26 against
>>> `cvmx_mgmt_port_num_ports' *** Error code 1
>>> 
>>> Searching in /sys/mips/cavium for cvmx_mgmt_port_num_ports is not
>>> successfull - any insight here?
>> 
>> This is in the sys/contrib/octeon-sdk tree. I've built kernels since
>> then.
>> 
>> Warner
> 
> Thanks, I found it - device octm was unknowingly commented out. Maybe
> as I have no octm in devinfo I left it out, no idea. Now it works.
> 
> Back to the original talk - GPIO. I found on Edgerouter Lite pin 11 is
> used for reset switch - aka 'Factory Default' button.
> 
> Status is
> pin 11:	1	F/D<IN>, caps:<IN,OUT>
> when not pressed and
> pin 11:	0	F/D<IN>, caps:<IN,OUT>
> when pressed.

Does the GPIO driver work with these?

> However, I found a problem with ethernet driver. It works only in
> gigabit mode - connected to 100baseT switch is correctly negotiated, it
> seems, but no traffic flows, either way, probably. What could I do to
> diagnose root cause of this problem?

You should be able to force it to 100baseT on a GigE switch as a first step to tracking this down. Are you connecting to a 100baseT hub or switch? I've had stutter issues with my 100baseT hub so I've switched to using the GigE switch entirely... I also switched my board from octm to octe interfaces for things like NFS, on the theory they are better optimized...

I've been away at BSDcan for about a week, and so my experience is about 10-15 days old right now. Today is catchup day at work, but I'll try to look to morrow.

Warner


More information about the freebsd-mips mailing list