June 22, 2020

The DPH153-AT Femtocell - network

Look at all those ethernet ports! We only see two configured (and there are only two connectors on the board).

# ifconfig -a
br0       Link encap:Ethernet  HWaddr 00:1E:6B:DE:AD:02
          inet addr:192.168.157.185  Bcast:192.168.157.187  Mask:255.255.255.252
          inet6 addr: fe80::21e:6bff:fede:ad02/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:145 errors:0 dropped:0 overruns:0 frame:0
          TX packets:113 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9363 (9.1 KiB)  TX bytes:11676 (11.4 KiB)

eth2      Link encap:Ethernet  HWaddr 72:6E:65:6C:20:49
          inet6 addr: fe80::706e:65ff:fe6c:2049/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:145 errors:0 dropped:0 overruns:0 frame:0
          TX packets:192 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:11973 (11.6 KiB)  TX bytes:43386 (42.3 KiB)
          Interrupt:3

eth2.1    Link encap:Ethernet  HWaddr 00:1E:6B:DE:AD:02
          inet6 addr: fe80::21e:6bff:fede:ad02/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:145 errors:0 dropped:0 overruns:0 frame:0
          TX packets:117 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9943 (9.7 KiB)  TX bytes:12444 (12.1 KiB)

eth2.2    Link encap:Ethernet  HWaddr BC:C8:10:24:E2:96
          inet6 addr: fe80::bec8:10ff:fe24:e296/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:29098 (28.4 KiB)

eth2.3    Link encap:Ethernet  HWaddr 00:1E:6B:DE:AD:77
          inet addr:192.168.100.245  Bcast:192.168.100.255  Mask:255.255.255.0
          inet6 addr: fe80::21e:6bff:fede:ad77/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:1160 (1.1 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2595 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2595 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:142505 (139.1 KiB)  TX bytes:142505 (139.1 KiB)
The manual says the yellow jack should go to the "outside world", i.e. your cable modem. The black jack should go to your computer or your router if you have one.

I experiment by connecting cables. When I connect to the yellow jack, I get messages that "port detector" sees a transition on the WAN port from Off to On, along with a bunch of other messages.

[PORT_DETECTOR] Wan port link Off->On.
[eth_led] Variable:eth_link Value:1
[PORT_DETECTOR] Reconf WAN
[PORT_DETECTOR]status change-> OLD:5 NEW:15
eth2.3: Setting MAC address to  00 1e 6b de ad 77.
[eth_led] Variable:dhcp Value:0
killall: udhcpc0.sh: no process killed
killall: udhcpc1.sh: no process killed
udhcpc (v1.8.2) started
done. mask:fffffffc
ip_table: set wan_name=eth2.2
[DHCPC0]: execute deconfig
So, the yellow jack is the Wan port. It turns out that this is eth2.2, the message about setting the MAC address for eth2.3 is simply confusing.

On my linux host, I add these:

ip addr add 192.168.100.5/24 brd + dev eno1 label eno1:femtowan
ip addr add 192.168.157.5/24 brd + dev eno1 label eno1:femtox
ip addr add 192.168.73.5/24 brd + dev eno1 label eno1:femto
But nothing pings (I try 192.168.100.245 and 192.168.157.185).

Firing up wireshark, I see a DHCP discover message from a MAC address on this board (BC:C8:10:24:E2:96). So, I edit my server dhcpd.conf file and add an entry, restart my DHCP server and voila!

host femto {
                    hardware ethernet bc:c8:10:24:e2:96;
                    fixed-address 192.168.73.73;
                    option host-name "femto";
            }
After doing this I see:

eth2.2    Link encap:Ethernet  HWaddr BC:C8:10:24:E2:96
          inet addr:192.168.73.73  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::bec8:10ff:fe24:e296/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1306 errors:0 dropped:0 overruns:0 frame:0
          TX packets:154 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:77226 (75.4 KiB)  TX bytes:84128 (82.1 KiB)

# ps
  PID  Uid        VSZ Stat Command
    1 root       1884 S   init
    2 root            SWN [ksoftirqd/0]
    3 root            SW< [events/0]
    4 root            SW< [khelper]
    5 root            SW< [kthread]
   22 root            SW< [kblockd/0]
   33 root            SW  [pdflush]
   34 root            SW  [pdflush]
   35 root            SW< [kswapd0]
   36 root            SW< [aio/0]
  648 root            SW  [mtdblockd]
  697 root            SW< [kwatch_dog]
  735 root       1380 S   soft_wd -t 5 -p config_server -p gpio_task gpio_task
  825 root       2228 S   config_server
  831 root       1384 S   gpio_task -n
  836 root       1104 S   port_detector
  842 root       1884 S   -sh
  891 root       1880 S   syslogd -m 0 -b 1 -s 100
  904 root       1392 S   ipc_server 192.168.157.185
 3454 root       1880 S   /sbin/udhcpc -i eth2.2 -s /sbin/udhcpc0.sh -p /var/ru
 3494 root       1884 S   udhcpd /etc/dhcpd0.cfg -S
 3507 root       1676 S   dnrd -s 208.67.222.222 -s 208.67.220.220 -a 192.168.1
 3515 root       1668 S   wizard
 3520 root       1880 S   telnetd -b 192.168.157.185
 3549 root       1884 R   ps
I can launch telnetd on this port via "telnetd -b 192.168.73.73" and then login remotely. I can also run tftp and pull files from my server via "tftp -g -r femto 192.168.0.5".

I do see ARP messages to my gateway (192.168.0.1) that are failing because I have that cable disconnected. No telling who or what the femto may wish to contact.

So here are my questions:

I have a theory on eth2.1 (aka br0). My suspicion is that this is an entirely on the board connection to the PICO chip, but that is just a guess. If so, it would be odd that it has a telnetd running on it. (Maybe that can be made available over the cell network via the PICO?) Note that ipc_server is running on it also, which makes sense if this is a link to the PICO.

If that is true, that leaves eth2.3 to be connected to the black RJ-45, but if so it is odd that it never responds to ping.

After 24 hours or so

# ifconfig -a
br0       Link encap:Ethernet  HWaddr 00:1E:6B:DE:AD:02
          inet addr:192.168.157.185  Bcast:192.168.157.187  Mask:255.255.255.252
          RX bytes:275921 (269.4 KiB)  TX bytes:383853 (374.8 KiB)

eth2      Link encap:Ethernet  HWaddr 72:6E:65:6C:20:49
          inet6 addr: fe80::706e:65ff:fe6c:2049/64 Scope:Link
          RX bytes:22555434 (21.5 MiB)  TX bytes:21971696 (20.9 MiB)
          Interrupt:3

eth2.1    Link encap:Ethernet  HWaddr 00:1E:6B:DE:AD:02
          inet6 addr: fe80::21e:6bff:fede:ad02/64 Scope:Link
          RX bytes:295485 (288.5 KiB)  TX bytes:399137 (389.7 KiB)

eth2.2    Link encap:Ethernet  HWaddr BC:C8:10:24:E2:96
          inet addr:192.168.73.73  Bcast:192.168.73.255  Mask:255.255.255.0
          RX bytes:21356089 (20.3 MiB)  TX bytes:152549 (148.9 KiB)

eth2.3    Link encap:Ethernet  HWaddr 00:1E:6B:DE:AD:77
          inet addr:192.168.100.245  Bcast:192.168.100.255  Mask:255.255.255.0
          RX bytes:10296 (10.0 KiB)  TX bytes:21393996 (20.4 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          RX bytes:7040773 (6.7 MiB)  TX bytes:7040773 (6.7 MiB)

I thought it might be instructive to look at the traffic on the various ports.
Note that there are actually 4 ports and br0 is an alias for eth2.1

eth2.2 is the "Wan port", the yellow jack. It sees lots of Rx traffic because I have it connected to a switch on my active network.

eth2.3 is the black jack -- we see that its Tx traffic matches the Rx traffic on eth2.2. This makes sense if the Femto is supposed to be relaying traffic from the Wan port to a computer or router connected to it.

eth2 shows a lot of traffic. It almost matches the 20 MiB on the two ports above, and in fact is a bit higher. No telling.

eth2.1 (br0) only shows a little traffic, who knows what this is.


Have any comments? Questions? Drop me a line!

Tom's electronics pages / tom@mmto.org