Dell Precision 3640 not getting past the Balena logo

Hi there,

We’re wanting to use a Dell Precision 3640 with a Dante multi-channel soundcard in it for a BalenaOS media player.

We’ve tried both the Intel NUC & Generic x86_64 images, and both get to this point on boot and hangs:

Started Update UTMP about System Runlevel Changes.

There are a couple of errors:

Couldn't run auplink before unmount /tmp/docker-aufs-union634500134

could not move mountpoint: /sys/firmware/efi/efivars no such

The device doesn’t show in the Balena dashboard, so I suspect doesn’t get to setup the networking yet, so we were wondering if you knew how to debug from here?

Can we boot to a shell without network access to get more error logs?

Best, Simon.

Hi Simon, I’ll see if some of my teammates have an idea why you’re getting the error and we’ll get back to you.

1 Like

Out of curiosity Simon, what happens if you attempt to boot up one of the Unmanaged NUC images, such as located here: https://api.balena-cloud.com/download?deviceType=intel-nuc&version=2.50.1+rev1.dev&fileType=.zip

I am curious if that happens to boot. Note: You will not see it in your balenaCloud dashboard. I am just curious to see if it gets any further.

1 Like

Hi, were you trying to boot prod or dev images? If you were using prod images can you give it a try with a development image? That one will allow you to login using virtual terminal 2 for example and we can take it from there

1 Like

@dtischler @floion Thanks so much for the suggestions - the box is offsite at the moment, so it might take a day or two to try the Unmanaged & Dev images (we’ve been using prod images so far), but we’ll try it and get back to you shortly.

@dtischler @floion We used a usb-networking device to get it to boot and connect to Balena.

So next we need to install the driver: https://downloadcenter.intel.com/download/15817/Intel-Network-Adapter-Driver-for-PCIe-Intel-Gigabit-Ethernet-Network-Connections-Under-Linux-

What’s the best way to do that for a Balena app?

We also have a Dante soundcard we’d like to enable too: https://www.digigram.com/production-and-sound-cards/lx-dante-ip-audio-network-multichannel-sound-card/

You can load additional kernel modules within containers, but, for network interfaces, this is a bad idea. The reason being for if some reason the container that adds the driver fails to start, your device will not be able to get online and would lose remote connectivity requiring physical intervention to get it back online. I’d recommend sticking to the use of a natively supported adapter for networking.

Out of interest which image did you get working? Was it the Generic X86 or the NUC one? The reason I ask is that the generic one has more drivers so is more likely to have support for the Intel network adapter you mention out of the box.

You can load additional kernel modules within containers, but, for network interfaces, this is a bad idea. The reason being for if some reason the container that adds the driver fails to start, your device will not be able to get online and would lose remote connectivity requiring physical intervention to get it back online.

@chrisys Agreed. Think we might stick with the USB adapter for now for networking.

For the Dante audio soundcard, is this still the recommend way to build kernel modules? https://github.com/balena-os/kernel-module-build/

Out of interest which image did you get working? Was it the Generic X86 or the NUC one? The reason I ask is that the generic one has more drivers so is more likely to have support for the Intel network adapter you mention out of the box.

Neither worked with the Intel network adapter, but at the moment we’ve got the NUC image running with the USB adapter.

I might flash the Generic image back to see if it has support for the LX-DANTE card, as the NUC image doesn’t detect it despite it saying that support has been added to Linux as of kernel 3.10.

Would you expect the Yocto 5.2.10 kernel to include that support?

Hi Simon, I’ve had a look on the audio card support site and found this text:

… For other Linux distributions, we propose a service for providing an adequate compiled and installable driver package. In addition to this service, you can subscribe to a one-year support service to get updated packages according to the new kernel versions released for your Linux distribution. Please contact Digigram for more information.

If you could get hold of the source code for the binary package they mention, you could easily compile it inside a container on balenaOS. If the source code is not open, then unfortunately you will have to pay the vendor (like Dell presumably did) to build it for a specific kernel/ALSA version. This might be a little challenging, since the vendor would have to do it using the Yocto build environment.

You could also press the sound card vendor to open source their Linux drivers and contribute them to the mainline kernel. then, when that kernel hits GA, it would eventually make it into balenaOS.

@ab77 I was really hoping they might supply us with the source so we could compile our own, but unfortunately as you found they only supply a binary, and only for some of the popular OS kernels.

I’ll push for them to open source it, but its unlikely as they’ve offered to build the binary to us for 1090€, so it seems like a big revenue source. I’ll still argue the case, as we almost didn’t purchase their card because of the incompatible driver issue.

Sounds like a reasonable approach. Being an open source platform, we tend to stay away from vendor locked hardware, though I understand it is not possible in every instance. Please let us know if there is anything else we can assist with.