TL-WR1043: switch
Stefan Bethke
stb at lassitu.de
Wed Nov 30 11:05:55 UTC 2011
Am 29.11.2011 um 23:59 schrieb Stefan Bethke:
> Am 28.11.2011 um 23:29 schrieb Stefan Bethke:
>
>> Am 28.11.2011 um 23:18 schrieb Stefan Bethke:
>>
>>> So with the GPIOs working, the next step would be to attach a bit-banging I2C device to GPIO 18 and 19. My kernel foo is probably not up to creating the appropriate newbus attachment myself. Anybody want to give me a hint? I'd start by copying lpbb, replacing the parallel port code with appropirate gpio calls.
>>>
>>> I haven't taken a detailed look at the OpenWrt code, but the datasheet for the RTL8366 can be googled, including a full register map and a description of the VLAN configuration (which I'm most interested in). With a working I2C bus, that shouldn't be too hard, I'd think.
>>
>> Further looking around, we already have dev/gpio/gpioiic.c. I'll see if I can get it to attach.
>
> I couldn't get iic to work, so I rolled my own userland bitbanging utility, based roughly on the OpenWrt code (minus some small bugs) and the datasheet.
>
> I can read and write registers, but to my consternation, most of the functionality (MIB counters, ST controls, etc.) seems to be somehow disabled or just plain missing.
>
> I'll try to get a basic utility up and running to use the basic VLAN mode (not the table-based mode) tomorrow. Once that's working suffiently well, I could make it into a stand-alone driver, or see if it can be integrated into Aleksandrs work.
Either I'm doing something wrong, or the RTL8366 is working a lot differently from the datasheet. I've put the source as well as a binary up for download; could someone with a running WR1043 run the command and post the results here?
http://www.lassitu.de/freebsd/rtl.tbz
Here's my output directly after reboot:
# ./rtl -D
00 0830 0000 0000 0000 00b0 2805 0000 0000
08 0000 0f45 83ed 0101 0000 0200 0000 0001
10 ffff ffff ffff ffff 7660 6060 fe76 6060
18 0000 0000 0000 0000 0000 0000 0000 0000
20 0001 ffff 0000 0002 0000 0000 0003 0000
28 0000 0004 0000 0000 0005 0000 0000 0006
30 0000 0000 0007 0000 0000 0008 0000 0000
38 0009 0000 0000 000a 0000 0000 000b 0000
40 0000 000c 0000 0000 000d 0000 0000 000e
48 0000 0000 000f 0000 0000 0010 0000 0000
50 ffff ffff ffff ffff ffff ffff ffff ffff
58 0000 0000 0000 0000 5937 0000 0000 0000
60 0000 0000 0000 0000 0000 0000 0000 0000
68 0000 0000 0000 0000 0000 0000 0000 0000
70 0000 0000 0000 0000 0000 0000 0000 0000
78 0000 0000 0000 0000 0000 0000 0000 0000
# ./rtl -v
VTCR0[0] EN_VLAN = enabled
VTCR0[1] VLAN_TAG_AWARE = disabled
VTCR0[2] VLAN_TAG_ADMIT = enabled
VTCR0[3] EN_INGRESS_RULE = disabled
VTCR0[4] EN_UC_LEAKY = disabled
VTCR0[5] EN_ARP_LEAKY = disabled
VTCR0[6] EN_IPMC_LEAKY = disabled
VTCR0[12] EN_TG_DROP = disabled
WAN 1 2 3 4 CPU
Tagging keep keep keep keep keep keep
00= 3702 - - - - - *
01= 0 - - - - - -
02= 0 - - - - - -
03= 0 - - - - - -
04= 0 - - - - - -
05= 1 * * * * * *
06= 0 - * - - - -
07= 0 - - - - - -
08= 3 - - - - - -
09= 0 - - * - - -
10= 0 - - - - - -
11= 5 - - - - - -
12= 0 - * * - - -
13= 0 - - - - - -
14= 7 - - - - - -
15= 0 - - - * - -
Stefan
--
Stefan Bethke <stb at lassitu.de> Fon +49 151 14070811
More information about the freebsd-embedded
mailing list