I have a customized Linux distro (created via buildroot) running on an embedded platform. The system consists in a processing module (Based on Samsung Exynos 4412 microprocessor) with a base board for peripherals (such as RS232, Ethernet, USB ports, etc). It connects to the Internet via Ethernet cable or Wi-Fi, and that is set during boot.

Recently, a module was added on the kernel to enable the connection of a new device, which appears as /dev/ttyACM0. Other peripherals have been used before, such as a serial printer (/dev/ttyUSB0) and no problems were observed.

On this case though, there's a strange behaviour. Nothing wrong happens when the system boots set to Wi-Fi, no matter the number of peripherals connected. Also, if it boots set to Ethernet and the ttyACM0 device is connected afterwards, it functions normally. The problem happens when the system is booted set to Ethernet while the device is connected. On this case, shortly after a connection has been made (I'm able to access it and see that the device is listed on /dev) it loses the connection to the Internet.

Network interfaces don't have anything to do with /dev, right? They're listed elsewhere, not having any references in /dev. I don't see how one could possibly impact the other. Is there any reason why this could be happening?

  • 1
    Do you have more details of this embedded platform(a commecial name of this board like "Raspberry PI" or "Le Potato"...) ? This seems to be a kind of conflict like the ones you could have with PCI slots and IRQs, but maybe it is other protocol having this issue with addressing... – user34720 Jun 29 '18 at 14:20
  • It's a FriendlyARM Tiny4412, a chinese board: friendlyarm.net/products/tiny4412 – amorimph Jun 29 '18 at 14:25
  • And the connection you are trying to create with the /dev/ttyACM0 is an Arduino shield? That kind of hardware is being connected to your SBC? – user34720 Jun 29 '18 at 16:33
  • 2
    Sounds like your ethernet device is moving up and down as you connect other devices, i.e. from enp2s0 it becomes enp3s0 or enp1s0. Just copy /etc/sysconfit/networkscripts/ files for your current device and name them after the new device, and edit device names inside. Or move back to ethN naming schema using kernel parameters or udev rules and your eth0 will always be eth0. – ajeh Jun 29 '18 at 17:06
  • @nwildner it's a relay module, connected via USB. – amorimph Jun 29 '18 at 17:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.