Running dnsmasq exclusively on usb0

567 views
Skip to first unread message

niv...@gmail.com

unread,
Apr 17, 2015, 9:51:16 AM4/17/15
to beagl...@googlegroups.com
Hi,
The current script in debian 8.0 uses dnsmasq to serve dhcp. Current config for dnsmasq does not bind to usb0 , so it uses the lo device. In case I add a new network device and want to use another instance of dnsmasq to serve dhcp on that device, I can't as the current config, blocks a second dnsmasq as the socket is already in use. This is because the first dnsmasq runs on 0.0.0.0 and serves all network devices.

This also blocks running avahi-dnsconfd, as the lo device is taken. avahi is useful, for when you don't know the address of your BBB, and can reach it using the hostname beagleone.local.

so I suggest this dnsmasq config:

/etc/dnsmasq.d/usb0-dhcp
#disable DNS by setting port to 0
port=0

interface=usb0

#one address range
dhcp-range=192.168.7.1,192.168.7.1

dhcp-option=3
except-interface=lo
listen-address=192.168.7.2
bind-interfaces

Robert Nelson

unread,
Apr 17, 2015, 10:06:10 AM4/17/15
to Beagle Board
Thanks for the fix!

https://github.com/beagleboard/image-builder/commit/1f93c63b131c3c48dbb7e58de6b70e4aac78fcbc

It'll be included in this sunday's weekly update..

Regards,

--
Robert Nelson
https://rcn-ee.com/

niv...@gmail.com

unread,
Apr 20, 2015, 11:57:02 AM4/20/15
to beagl...@googlegroups.com
Seems dnsmasq does not load with this config:

Apr 20 16:20:51 beaglebone dnsmasq[295]: dnsmasq: syntax check OK.
Apr 20 16:20:52 beaglebone cron[314]: (CRON) INFO (pidfile fd = 3)
Apr 20 16:20:52 beaglebone cron[314]: (CRON) INFO (Running @reboot jobs)
Apr 20 16:20:52 beaglebone kernel: omap-sham 53100000.sham: hw accel on OMAP rev 4.3
Apr 20 16:20:52 beaglebone kernel: random: nonblocking pool is initialized
Apr 20 16:20:52 beaglebone dbus-daemon[328]: Unknown group "network" in message bus configuration file
Apr 20 16:20:52 beaglebone kernel: using random self ethernet address
Apr 20 16:20:52 beaglebone kernel: using random host ethernet address
Apr 20 16:20:52 beaglebone kernel: using host ethernet address: 7C:66:9D:6D:36:97
Apr 20 16:20:52 beaglebone kernel: using random self ethernet address
Apr 20 16:20:52 beaglebone kernel: using random host ethernet address
Apr 20 16:20:52 beaglebone kernel: using host ethernet address: 7C:66:9D:6D:36:97
Apr 20 16:20:52 beaglebone kernel: usb0: HOST MAC 7c:66:9d:6d:36:97
Apr 20 16:20:52 beaglebone kernel: usb0: MAC 4a:e6:65:73:16:60
Apr 20 16:20:52 beaglebone kernel: omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
Apr 20 16:20:52 beaglebone sshd[320]: Server listening on 0.0.0.0 port 22.
Apr 20 16:20:52 beaglebone sshd[320]: Server listening on :: port 22.
Apr 20 16:20:52 beaglebone kernel: Number of LUNs=8
Apr 20 16:20:52 beaglebone kernel: Mass Storage Function, version: 2009/09/11
Apr 20 16:20:52 beaglebone kernel: LUN: removable file: (no medium)
Apr 20 16:20:52 beaglebone kernel: Number of LUNs=1
Apr 20 16:20:52 beaglebone kernel: LUN: removable file: /dev/mmcblk0p1
Apr 20 16:20:52 beaglebone kernel: Number of LUNs=1
Apr 20 16:20:52 beaglebone kernel: g_multi gadget: Multifunction Composite Gadget
Apr 20 16:20:52 beaglebone kernel: g_multi gadget: g_multi ready
Apr 20 16:20:52 beaglebone connmand[300]: Connection Manager version 1.27
Apr 20 16:20:52 beaglebone connmand[300]: Adding configuration homewifi
Apr 20 16:20:52 beaglebone connmand[300]: Adding service configuration homewifi
Apr 20 16:20:52 beaglebone connmand[300]: Checking loopback interface settings
Apr 20 16:20:52 beaglebone connmand[300]: System hostname is beaglebone
Apr 20 16:20:52 beaglebone kernel: g_multi gadget: high-speed config #2: Multifunction with CDC ECM
Apr 20 16:20:53 beaglebone dbus[328]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service'
Apr 20 16:20:53 beaglebone dbus[328]: [system] Activating via systemd: service name='fi.w1.wpa_supplicant1' unit='wpa_supplicant.service'

Apr 20 16:20:53 beaglebone kernel: net eth0: initializing cpsw version 1.12 (0)
Apr 20 16:20:53 beaglebone kernel: net eth0: phy found : id is : 0x7c0f1
Apr 20 16:20:53 beaglebone kernel: libphy: PHY 4a101000.mdio:01 not found
Apr 20 16:20:53 beaglebone kernel: net eth0: phy 4a101000.mdio:01 not found on slave 1
Apr 20 16:20:53 beaglebone connmand[300]: lo {newlink} index 1 address 00:00:00:00:00:00 mtu 65536
Apr 20 16:20:53 beaglebone connmand[300]: lo {newlink} index 1 operstate 0 <UNKNOWN>
Apr 20 16:20:53 beaglebone connmand[300]: eth0 {create} index 2 type 1 <ETHER>
Apr 20 16:20:53 beaglebone connmand[300]: eth0 {update} flags 4098 <DOWN>
Apr 20 16:20:53 beaglebone connmand[300]: eth0 {newlink} index 2 address 7C:66:9D:6D:36:95 mtu 1500
Apr 20 16:20:53 beaglebone connmand[300]: eth0 {newlink} index 2 operstate 2 <DOWN>
Apr 20 16:20:53 beaglebone dbus[328]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service'
Apr 20 16:20:53 beaglebone kernel: net eth0: BQL enabled
Apr 20 16:20:53 beaglebone kernel: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 20 16:20:53 beaglebone dnsmasq[364]: unknown interface usb0
Apr 20 16:20:53 beaglebone dnsmasq[364]: FAILED to start up
Apr 20 16:20:53 beaglebone dnsmasq[364]: dnsmasq: unknown interface usb0
Apr 20 16:20:53 beaglebone connmand[300]: Adding interface eth0 [ ethernet ]
Apr 20 16:20:53 beaglebone connmand[300]: usb0 {create} index 3 type 1 <ETHER>
Apr 20 16:20:53 beaglebone connmand[300]: usb0 {update} flags 4098 <DOWN>
Apr 20 16:20:53 beaglebone connmand[300]: usb0 {newlink} index 3 address 4A:E6:65:73:16:60 mtu 1500
Apr 20 16:20:53 beaglebone connmand[300]: usb0 {newlink} index 3 operstate 2 <DOWN>
Apr 20 16:20:53 beaglebone connmand[300]: Adding interface usb0 [ gadget ]
Apr 20 16:20:53 beaglebone connmand[300]: eth0 {update} flags 36931 <UP,RUNNING>
Apr 20 16:20:53 beaglebone connmand[300]: eth0 {newlink} index 2 address 7C:66:9D:6D:36:95 mtu 1500
Apr 20 16:20:53 beaglebone connmand[300]: eth0 {newlink} index 2 operstate 0 <UNKNOWN>
Apr 20 16:20:53 beaglebone connmand[300]: The name net.connman.vpn was not provided by any .service files
Apr 20 16:20:53 beaglebone systemd[1]: dnsmasq.service: control process exited, code=exited status=2
Apr 20 16:20:53 beaglebone systemd[1]: Failed to start dnsmasq - A lightweight DHCP and caching DNS server.
Apr 20 16:20:53 beaglebone systemd[1]: Dependency failed for Host and Network Name Lookups.
Apr 20 16:20:53 beaglebone systemd[1]: Unit dnsmasq.service entered failed state.
 
 
 

Robert Nelson

unread,
Apr 20, 2015, 12:04:10 PM4/20/15
to Beagle Board
On Mon, Apr 20, 2015 at 10:56 AM, <niv...@gmail.com> wrote:
> Seems dnsmasq does not load with this config:

>> Apr 20 16:20:53 beaglebone dnsmasq[364]: unknown interface usb0
>> Apr 20 16:20:53 beaglebone dnsmasq[364]: FAILED to start up
>> Apr 20 16:20:53 beaglebone dnsmasq[364]: dnsmasq: unknown interface usb0

Also upgrade to:

linux-image-3.14.38-ti-r60

and make sure you also update the boot script:

cd /opt/scripts/
git pull

As you are fighting a 3 way race: musb-hdrc + g_multi + dnsmasq...

r60: musb-hdrc is built-in..

So it's a race between g_mulit + dnsmasq

So then i added a restart to dnsmasq, after usb0 is setup:

https://github.com/RobertCNelson/boot-scripts/commit/a501ab8bb0dc61e0889a5a586a0de6701b3de81a

Patrick Poirier

unread,
Nov 21, 2015, 7:56:39 PM11/21/15
to BeagleBoard, niv...@gmail.com

Hello, 
 I am trying to get eth0 having access to the DNS, I  cant ping google.com from eth0. It only works when I disable dnsmasq. So what it the correct config for eth0 ?

Regards 
Reply all
Reply to author
Forward
0 new messages