Unable to get ethernet interface working

Hi,
Recently I got a seeedStudio senseCap LoRa gateway to try out for a LoRa project we have coming up. Upon requesting if we could get root access to the OS we were told that it was not been provided at this time. So I went to explore mode and found that we could connect to the console and it Identified itself as a beaglebone green (but could not get access with default passwords).

So after reading some documents and the beagleboard.org website I worked out I could boot from a uSD and get console and ssh access with the default password.

But it doesn’t look like it able to start the ethernet interface and was wondering if anyone here can help debug to why it wont start/enable.

Thanks

Some commands:

uname -a:
Linux beaglebone 4.19.94-ti-r42 #1buster SMP PREEMPT Tue Mar 31 19:38:29 UTC 2020 armv7l GNU/Linux

lscpu:
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
Vendor ID: ARM
Model: 2
Model name: Cortex-A8
Stepping: r3p2
CPU max MHz: 1000.0000
CPU min MHz: 300.0000
BogoMIPS: 995.32
Flags: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32

lsmod:
Module Size Used by
usb_f_acm 16384 2
u_serial 20480 3 usb_f_acm
usb_f_ecm 20480 2
usb_f_mass_storage 53248 2
usb_f_rndis 32768 4
u_ether 20480 2 usb_f_ecm,usb_f_rndis
libcomposite 65536 18 usb_f_ecm,usb_f_acm,usb_f_mass_storage,usb_f_rndis
pm33xx 16384 0
wkup_m3_ipc 16384 1 pm33xx
wkup_m3_rproc 16384 1
uio_pdrv_genirq 16384 0
uio 20480 1 uio_pdrv_genirq

ifconfig -a:
can0: flags=128 mtu 16
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 43

can1: flags=128 mtu 16
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 44

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 3976 bytes 253924 (247.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3976 bytes 253924 (247.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.7.2 netmask 255.255.255.0 broadcast 192.168.7.255
inet6 fe80::1642:fcff:fee7:1795 prefixlen 64 scopeid 0x20
ether 14:42:fc:e7:17:95 txqueuelen 1000 (Ethernet)
RX packets 7736 bytes 1788640 (1.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 647 bytes 124298 (121.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

usb1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.6.2 netmask 255.255.255.0 broadcast 192.168.6.255
ether 14:42:fc:e7:17:99 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

dmesg:
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.19.94-ti-r42 (voodoo@x3-am57xx-beagle-x15-2gb) (gcc version 8.3.0 (Debian 8.3.0-6)) #1buster SMP PREEMPT Tue Mar 31 19:38:29 UTC 2020
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Green Wireless
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] cma: Reserved 48 MiB at 0x9c800000
[ 0.000000] On node 0 totalpages: 130560
[ 0.000000] Normal zone: 1148 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 130560 pages, LIFO batch:31
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (sgx neon)
[ 0.000000] random: get_random_bytes called from start_kernel+0xac/0x4b4 with crng_init=0
[ 0.000000] percpu: Embedded 17 pages/cpu s38988 r8192 d22452 u69632
[ 0.000000] pcpu-alloc: s38988 r8192 d22452 u69632 alloc=17*4096
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129412
[ 0.000000] Kernel command line: console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 438432K/522240K available (13312K kernel code, 1136K rwdata, 4308K rodata, 1024K init, 350K bss, 34656K reserved, 49152K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xe0000000 - 0xff800000 ( 504 MB)
lowmem : 0xc0000000 - 0xdfe00000 ( 510 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.text : 0x(ptrval) - 0x(ptrval) (14304 kB)
.init : 0x(ptrval) - 0x(ptrval) (1024 kB)
.data : 0x(ptrval) - 0x(ptrval) (1137 kB)
.bss : 0x(ptrval) - 0x(ptrval) ( 351 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] ftrace: allocating 42043 entries in 124 pages
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
[ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000024] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000044] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000054] OMAP clocksource: timer1 at 24000000 Hz
[ 0.002078] timer_probe: no matching timers found
[ 0.002425] Console: colour dummy device 80x30
[ 0.002454] WARNING: Your ‘console=ttyO0’ has been replaced by ‘ttyS0’
[ 0.002459] This ensures that you still see kernel messages. Please
[ 0.002463] update your kernel commandline.
[ 0.002524] Calibrating delay loop (skipped) preset value… 995.32 BogoMIPS (lpj=1990656)
[ 0.002541] pid_max: default: 32768 minimum: 301
[ 0.002827] Security Framework initialized
[ 0.002841] Yama: becoming mindful.
[ 0.002987] AppArmor: AppArmor initialized
[ 0.003092] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.003105] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.004204] CPU: Testing write buffer coherency: ok
[ 0.004269] CPU0: Spectre v2: using BPIALL workaround
[ 0.004763] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[ 0.025231] Setting up static identity map for 0x80100000 - 0x80100060
[ 0.033137] rcu: Hierarchical SRCU implementation.
[ 0.049155] smp: Bringing up secondary CPUs …
[ 0.049174] smp: Brought up 1 node, 1 CPU
[ 0.049186] SMP: Total of 1 processors activated (995.32 BogoMIPS).
[ 0.049192] CPU: All CPU(s) started in SVC mode.
[ 0.050912] devtmpfs: initialized
[ 0.085490] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.086122] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.086147] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.090117] xor: automatically using best checksumming function neon
[ 0.090134] pinctrl core: initialized pinctrl subsystem
[ 0.091464] NET: Registered protocol family 16
[ 0.096703] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[ 0.188888] l4_wkup_cm:clk:0010:0: failed to disable
[ 0.229251] audit: initializing netlink subsys (disabled)
[ 0.233252] audit: type=2000 audit(0.224:1): state=initialized audit_enabled=0 res=1
[ 0.238296] OMAP GPIO hardware version 0.1
[ 0.239153] GPIO line 61 (LS_BUF_EN) hogged as output/high
[ 0.241409] GPIO line 112 (MCASP0_AHCLKR) hogged as output/low
[ 0.262954] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.289291] raid6: using algorithm neonx8 gen() 0 MB/s
[ 0.289304] raid6: … xor() 0 MB/s, rmw enabled
[ 0.289312] raid6: using neon recovery algorithm
[ 0.297400] edma 49000000.edma: TI EDMA DMA engine driver
[ 0.304834] SCSI subsystem initialized
[ 0.309250] libata version 3.00 loaded.
[ 0.309558] usbcore: registered new interface driver usbfs
[ 0.309614] usbcore: registered new interface driver hub
[ 0.309735] usbcore: registered new device driver usb
[ 0.311810] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
[ 0.313358] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
[ 0.313966] pps_core: LinuxPPS API ver. 1 registered

Rather basic question, but you never know, is the BBB/Cape connected
to a network that has a DHCP server on it?

Thanks for the reply Chris,
It is been plug into a network with a DHCP server provide by a pfsense firewall.

I think my problem is that the standard image (AM3358 Debian 10.3 2020-04-06 4GB SD IoT) is not finding the ethernet adapter as I don’t see it in ifconfig, I only see the ethernet over usb connections.

note this is a customs board by SeeedStudio:
SCG_Back.jpgSCG_Front.jpg

Hi

What dtb you are using?
There is any message regarding Ethernet on the dmesg?

SCG_Back.jpg

SCG_Front.jpg

Hi,

Had to google device tree blob (DTB), so the short answer is I don’t know. But I found a command that may shed some light

cat /proc/device-tree/model:
TI AM335x BeagleBone Green Wireless

if you want to see the output of some commands just let me know, thanks for the help.

Ok

Could you please run the version.sh script under /opt/scripts/tools/version.sh

Take a look at the /boot/uEnv.txt a line dtb=
If is commented -with a #dtb= or if there is dtb=anything

output of version.sh:

git:/opt/scripts/:[b39ec679648a6be8f25f48bd1c9784c1fc5a0c46]
eeprom:[A335BNLTGW1ASENSECAP1905]
model:[TI_AM335x_BeagleBone_Green_Wireless]
dogtag:[BeagleBoard.org Debian Buster IoT Image 2020-04-06]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2019.04-00002-g07d5700e21]:[location: dd MBR]
UBOOT: Booted Device-Tree:[am335x-bonegreen-wireless-uboot-univ.dts]
UBOOT: Loaded Overlay:[AM335X-PRU-RPROC-4-19-TI-00A0]
UBOOT: Loaded Overlay:[BB-ADC-00A0]
UBOOT: Loaded Overlay:[BB-BBGW-WL1835-00A0]
UBOOT: Loaded Overlay:[BB-BONE-eMMC1-01-00A0]
kernel:[4.19.94-ti-r42]
nodejs:[v10.15.2]
/boot/uEnv.txt Settings:
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-19-TI-00A0.dtbo]
uboot_overlay_options:[enable_uboot_cape_universal=1]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade ]
pkg:[bb-cape-overlays]:[4.14.20200403.0-0rcnee0~buster+20200403]
pkg:[bb-wl18xx-firmware]:[1.20200322.0-0rcnee0~buster+20200322]
pkg:[kmod]:[26-1]
pkg:[librobotcontrol]:[1.0.4-git20190227.1-0rcnee0~buster+20190327]
pkg:[firmware-ti-connectivity]:[20190717-2rcnee1~buster+20200305]
groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal bluetooth netdev i2c gpio pwm eqep remoteproc admin spi iio docker tisdk weston-launch xenomai cloud9ide]
cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet]
dmesg | grep remote
[ 11.325862] remoteproc remoteproc0: 4a334000.pru is available
[ 11.337638] remoteproc remoteproc1: 4a338000.pru is available
dmesg | grep pru
[ 11.325862] remoteproc remoteproc0: 4a334000.pru is available
[ 11.326048] pru-rproc 4a334000.pru: PRU rproc node pru@4a334000 probed successfully
[ 11.337638] remoteproc remoteproc1: 4a338000.pru is available
[ 11.337829] pru-rproc 4a338000.pru: PRU rproc node pru@4a338000 probed successfully
dmesg | grep pinctrl-single
[ 0.917887] pinctrl-single 44e10800.pinmux: 142 pins, size 568
dmesg | grep gpio-of-helper
[ 0.930374] gpio-of-helper ocp:cape-universal: ready
lsusb
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
END

uEVnv.txt:

#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=4.19.94-ti-r42
#uuid=
#dtb=

###U-Boot Overlays###
###Documentation: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays
###Master Enable
enable_uboot_overlays=1

A little more info,

I reached out to support at Seeed and they where able to send me a dtbo and vEnv.txt files (Big thank you to Seeed for doing that) but the gate isn’t open source and this is about all the help they can give.

They gave me a univ-bbgw-Ex-00A0.dtbo which is different to the found in lib/firmware on the “AM3358 Debian 10.3 2020-04-06 4GB SD IoT” I’m current running, so not knowing much I copied over the dtbo over the default one and rebooted, no difference.

so the question is, how do I use this new dtbo file?

uEnv.txt nothing really stood out (besides disabling the wireless, would have thought the video and audio should be disabled too):

#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=4.9.80-ti-r98
#uuid=
#dtb=

###U-Boot Overlays###
###Documentation: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays
###Master Enable
enable_uboot_overlays=1

Sorry spoke to soon I now have eth0 in ifconfig (Happy Days):

ifconfig -a
can0: flags=128 mtu 16
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 42

can1: flags=128 mtu 16
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 43

eth0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC> mtu 1500
inet 192.168.1.112 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::1642:fcff:fee7:1793 prefixlen 64 scopeid 0x20
ether 14:42:fc:e7:17:93 txqueuelen 1000 (Ethernet)
RX packets 1589 bytes 278073 (271.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 201 bytes 22179 (21.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 55

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 88 bytes 7389 (7.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 88 bytes 7389 (7.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.7.2 netmask 255.255.255.0 broadcast 192.168.7.255
inet6 fe80::1642:fcff:fee7:1795 prefixlen 64 scopeid 0x20
ether 14:42:fc:e7:17:95 txqueuelen 1000 (Ethernet)
RX packets 1100 bytes 163004 (159.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 282 bytes 77966 (76.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

usb1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.6.2 netmask 255.255.255.0 broadcast 192.168.6.255
ether 14:42:fc:e7:17:99 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Great :slight_smile:

to load the dtbo you need to copy inside the /lib/firmware and add in one of uboot_overlay_addr0=/lib/firmware/.dtbo (can be 0, 1, 2 or 3) the name of your dtbo file:
ex:.
uboot_overlay_addr0=/lib/firmware/univ-bbgw-Ex-00A0.dtbo

but if is working, is working :slight_smile:

BTW,

you can use the dtc command to decompile the dtbo - will not generate the source as was but you can have an idea of what there are inside the file.

Pretty!!!

https://www.seeedstudio.com/LoRaWAN-Gateway-US915-p-4306.html

PS, the “TI AM335x BeagleBone Green Wireless” doesn’t have the mdio pins configured for Ethernet, as it doesn’t have Ethernet… :wink:

Do you have a schematic, do you have Seeed’s default image, you could steal the *.dtb from that and decompile it…

Please share the *.dtbo :wink:

Regards,

SCG_Front.jpg

SCG_Back.jpg

Hi Robert,
Seeed have not open sourced the board or software so I don’t have any schematic, and in my excitement to find the standard image booting I flash it to the emmc with out working how to back it up first, so no default image for me (for now, if I get this to work, the unit fits my needs perfectly and I’ll be getting more and more chance to get the default image).

My next challenge is to get the LoRa card working (top mPCIe connect on the side with the two mPCIe connetors). What I know is that the card is a RAK2247 SPI Concentrator module and I need to be able to drive pin 22 of the mPCIe to reset the card.

So I need to find the SPI bus that it is connected to, any Ideas?
I was thinking of finding/designing a mPCIe proto board and looping the rx and tx and doing some echo test. But the only one I can find with google is https://twinind.com/index.php/products/pci-express-products/mini-pci-express-adaptors/sh09mpe-pb1-pcb/ but that will end up costing me around $150USD by time I got it shipped to me. On the other hand seeed are able to make and ship to me 10 units for under $30USD, so just need to R&D (ripoff and deploy) a design and get in made.

Then I need to work out what GPIO is driving PIN 22 of the LoRa mPCIe connector maybe to dtbo can give us some clues, I managed to decompile it with dtc (don’t know if I did it correctly) and am still working out what it all means. But I am guessing it just the setup of all the pins, but how to drive them and what I’m going to let the smoke out of if I do is another question. But my current idea here is to drive the pins one by one till I see a change at PIN22 on the LoRa mPCIe connector (proto board would help here to, as well as some educated guessing).

dtbo and decompiled dts attached

wouldn’t post with dtbo attached, reattached as zip

SeeedStudioGateway.zip (25.6 KB)