Hi Tim,

thank you for your reply. The "Last write time" from the filesystem superblock 
does only refer to writes to the superblock not the entire filesystem:

root@bokocube:~# dumpe2fs -h /dev/mmcblk0p2|grep Last
dumpe2fs 1.42.10 (18-May-2014)
Last mounted on:          /
Last mount time:          Thu Jan  1 01:00:04 1970
Last write time:          Thu Jan  1 01:00:04 1970
Last checked:             Sat Jun 14 20:19:23 2014
root@bokocube:~#

Thus I followed the idea to use the timestamp of syslog:

rd@bokocube:~$ cat /etc/init.d/clockemu
#!/bin/sh
### BEGIN INIT INFO
# Provides:          clockemu
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Should-Start:      $portmap
# Should-Stop:       $portmap
# X-Start-Before:    syslog
# X-Stop-After:      syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Interactive:     true
# Short-Description: emulates the RTC by setting the clock to the 
/var/log/syslog write time as early as possible
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO


PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh

set -vx

do_start() {
        date "+%D %T" -s "`date "+%D %T" -r /var/log/syslog`"
}

case "$1" in
    start)
        do_start
        ;;
    restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
    stop)
        ;;
    *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac
rd@bokocube:~$ 

This looks much better now:

root@bokocube:~# grep "bound to" /var/log/syslog
Jun 28 15:46:36 bokocube dhclient: bound to 192.168.178.87 -- renewal in 
395611 seconds.
Jun 28 15:46:38 bokocube dhclient: bound to 192.168.178.87 -- renewal in 
388322 seconds.
Jun 28 15:46:38 bokocube ifup[239]: bound to 192.168.178.87 -- renewal in 
388322 seconds.
Jun 28 16:04:08 bokocube dhclient: bound to 192.168.178.87 -- renewal in 
403727 seconds.
Jun 28 16:04:10 bokocube dhclient: bound to 192.168.178.87 -- renewal in 
388322 seconds.
Jun 28 16:04:10 bokocube ifup[247]: bound to 192.168.178.87 -- renewal in 
388322 seconds.
Jun 28 16:16:20 bokocube dhclient: bound to 192.168.178.87 -- renewal in 
399151 seconds.
Jun 28 16:16:22 bokocube dhclient: bound to 192.168.178.87 -- renewal in 
368472 seconds.
Jun 28 16:16:22 bokocube ifup[238]: bound to 192.168.178.87 -- renewal in 
368472 seconds.
root@bokocube:~# 

i.e. four boots in a row got consistently the *.87 address.

It becomes interesting, what happens when the lease expires in 8 days time.

Thanks,
Rainer


On Saturday 28 June 2014 14:01:27 Tim Small wrote:
> I think you'll need to use wireshark to figure out what's different (if
> anything) about the two sets of dhcp requests.
> 
> You might want to run wireshark on another box with two NICs bridged
> (cubox into one, router into the other) to ensure you see unicast as
> well as broadcast traffic.
> 
> Alternatively, you could start tcpdump on the cubox early in the boot
> process to create a packet trace file, and load that into wireshark
> later for analysis.
> 
> Possibly the changing local time is making the local cubox dhclient not
> request a lease renewal, but to request?  You could hack around this by
> setting the time prior to dhcp, using the timestamp of something on
> local storage - like a log file (or the "Last write time" from the
> filesystem superblock).  The time will still be wrong, but at least the
> machine won't have seem like it time-travelled backwards.
> 
> If you can't find anything changing between the two requests, then it's
> probably down to the router policy.
> 
> Tim.
> 
> On 28/06/14 13:42, Rainer Dorsch wrote:
> > Hi Ian,
> > 
> > On Saturday 28 June 2014 10:28:33 Ian Campbell wrote:
> >> On Sat, 2014-06-28 at 10:23 +0200, Rainer Dorsch wrote:
> >>> The real question is why does the dhclient on the cubox-i
> >>> http://cubox-i.com/ get another IP address when it asks again?
> >> 
> >> Is it possible that it is booting with some hardcoded default MAC
> >> address which gets set to the proper one during boot, before the clock
> >> change forces a second DHCP request?
> > 
> > I thought about that, but the weired thing is that sometimes it has *.87
> > after booting and changes to *.88 and sometimes the other way round. Here
> > are two of these examples
> > 
> > rd@bokocube:/var/log$ grep "bound to" syslog
> > Jan  1 01:00:10 bokocube dhclient: bound to 192.168.178.87 -- renewal in
> > 342127 seconds.
> > Jan  1 01:00:12 bokocube dhclient: bound to 192.168.178.87 -- renewal in
> > 369324 seconds.
> > Jan  1 01:00:12 bokocube ifup[238]: bound to 192.168.178.87 -- renewal in
> > 369324 seconds.
> > Jun 28 11:37:08 bokocube dhclient: bound to 192.168.178.87 -- renewal in
> > 371052 seconds.
> > Jun 28 11:37:08 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 392786 seconds.
> > Jan  1 01:00:09 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 379228 seconds.
> > Jan  1 01:00:12 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 369324 seconds.
> > Jan  1 01:00:12 bokocube ifup[244]: bound to 192.168.178.88 -- renewal in
> > 369324 seconds.
> > Jan  1 01:00:09 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 361711 seconds.
> > Jan  1 01:00:10 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 423282 seconds.
> > Jan  1 01:00:10 bokocube ifup[238]: bound to 192.168.178.88 -- renewal in
> > 423282 seconds.
> > Jun 28 14:02:58 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 370838 seconds.
> > Jun 28 14:02:58 bokocube dhclient: bound to 192.168.178.87 -- renewal in
> > 365945 seconds.
> > rd@bokocube:/var/log$
> > 
> > Also this is independent of setting a dhcp-client-identifier in
> > dhclient.conf or not.
> > 
> >> Perhaps the DHCP server logs can give you a clue why it decided to give
> >> a new IP address instead of reusing the existing lease?
> > 
> > Unfortunately, the server side is a router, I do not see log entries from
> > dhcp requests. The only weired observation on the router is that one
> > entry (either *.87 or *.88) has an empty MAC address. But not even that
> > is fix, also the IP with the empty MAC address "oscillates".
> > 
> > Here is the complete client log for reference:
> > 
> > rd@bokocube:/var/log$ grep dhclient syslog
> > Jan  1 01:00:08 bokocube NetworkManager[341]: <info> dhclient started with
> > pid 427
> > Jan  1 01:00:08 bokocube dhclient: Internet Systems Consortium DHCP Client
> > 4.3.0
> > Jan  1 01:00:08 bokocube dhclient: Copyright 2004-2014 Internet Systems
> > Consortium.
> > Jan  1 01:00:08 bokocube dhclient: All rights reserved.
> > Jan  1 01:00:08 bokocube dhclient: For info, please visit
> > https://www.isc.org/software/dhcp/
> > Jan  1 01:00:08 bokocube dhclient:
> > Jan  1 01:00:08 bokocube dhclient: Listening on LPF/eth0/d0:63:b4:00:32:5c
> > Jan  1 01:00:08 bokocube dhclient: Sending on   LPF/eth0/d0:63:b4:00:32:5c
> > Jan  1 01:00:08 bokocube dhclient: Sending on   Socket/fallback
> > Jan  1 01:00:08 bokocube dhclient: DHCPDISCOVER on eth0 to 255.255.255.255
> > port 67 interval 8
> > Jan  1 01:00:09 bokocube dhclient: DHCPREQUEST on eth0 to 255.255.255.255
> > port 67
> > Jan  1 01:00:09 bokocube dhclient: DHCPOFFER from 192.168.178.1
> > Jan  1 01:00:10 bokocube dhclient: DHCPACK from 192.168.178.1
> > Jan  1 01:00:10 bokocube dhclient: bound to 192.168.178.87 -- renewal in
> > 342127 seconds.
> > Jan  1 01:00:12 bokocube dhclient: DHCPREQUEST on eth0 to 255.255.255.255
> > port 67
> > Jan  1 01:00:12 bokocube dhclient: DHCPACK from 192.168.178.1
> > Jan  1 01:00:12 bokocube dhclient: bound to 192.168.178.87 -- renewal in
> > 369324 seconds.
> > Jun 28 11:37:07 bokocube dhclient: DHCPDISCOVER on eth0 to 255.255.255.255
> > port 67 interval 5
> > Jun 28 11:37:07 bokocube dhclient: DHCPDISCOVER on eth0 to 255.255.255.255
> > port 67 interval 8
> > Jun 28 11:37:08 bokocube dhclient: DHCPREQUEST on eth0 to 255.255.255.255
> > port 67
> > Jun 28 11:37:08 bokocube dhclient: DHCPOFFER from 192.168.178.1
> > Jun 28 11:37:08 bokocube dhclient: DHCPACK from 192.168.178.1
> > Jun 28 11:37:08 bokocube dhclient: bound to 192.168.178.87 -- renewal in
> > 371052 seconds.
> > Jun 28 11:37:08 bokocube dhclient: DHCPREQUEST on eth0 to 255.255.255.255
> > port 67
> > Jun 28 11:37:08 bokocube dhclient: DHCPOFFER from 192.168.178.1
> > Jun 28 11:37:08 bokocube dhclient: DHCPACK from 192.168.178.1
> > Jun 28 11:37:08 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 392786 seconds.
> > Jan  1 01:00:08 bokocube NetworkManager[343]: <info> dhclient started with
> > pid 431
> > Jan  1 01:00:08 bokocube dhclient: Internet Systems Consortium DHCP Client
> > 4.3.0
> > Jan  1 01:00:08 bokocube dhclient: Copyright 2004-2014 Internet Systems
> > Consortium.
> > Jan  1 01:00:08 bokocube dhclient: All rights reserved.
> > Jan  1 01:00:08 bokocube dhclient: For info, please visit
> > https://www.isc.org/software/dhcp/
> > Jan  1 01:00:08 bokocube dhclient:
> > Jan  1 01:00:08 bokocube dhclient: Listening on LPF/eth0/d0:63:b4:00:32:5c
> > Jan  1 01:00:08 bokocube dhclient: Sending on   LPF/eth0/d0:63:b4:00:32:5c
> > Jan  1 01:00:08 bokocube dhclient: Sending on   Socket/fallback
> > Jan  1 01:00:08 bokocube dhclient: DHCPDISCOVER on eth0 to 255.255.255.255
> > port 67 interval 7
> > Jan  1 01:00:09 bokocube dhclient: DHCPREQUEST on eth0 to 255.255.255.255
> > port 67
> > Jan  1 01:00:09 bokocube dhclient: DHCPOFFER from 192.168.178.1
> > Jan  1 01:00:09 bokocube dhclient: DHCPACK from 192.168.178.1
> > Jan  1 01:00:09 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 379228 seconds.
> > Jan  1 01:00:12 bokocube dhclient: DHCPREQUEST on eth0 to 255.255.255.255
> > port 67
> > Jan  1 01:00:12 bokocube dhclient: DHCPACK from 192.168.178.1
> > Jan  1 01:00:12 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 369324 seconds.
> > Jan  1 01:00:08 bokocube NetworkManager[344]: <info> dhclient started with
> > pid 432
> > Jan  1 01:00:08 bokocube dhclient: Internet Systems Consortium DHCP Client
> > 4.3.0
> > Jan  1 01:00:08 bokocube dhclient: Copyright 2004-2014 Internet Systems
> > Consortium.
> > Jan  1 01:00:08 bokocube dhclient: All rights reserved.
> > Jan  1 01:00:08 bokocube dhclient: For info, please visit
> > https://www.isc.org/software/dhcp/
> > Jan  1 01:00:08 bokocube dhclient:
> > Jan  1 01:00:08 bokocube dhclient: Listening on LPF/eth0/d0:63:b4:00:32:5c
> > Jan  1 01:00:08 bokocube dhclient: Sending on   LPF/eth0/d0:63:b4:00:32:5c
> > Jan  1 01:00:08 bokocube dhclient: Sending on   Socket/fallback
> > Jan  1 01:00:08 bokocube dhclient: DHCPDISCOVER on eth0 to 255.255.255.255
> > port 67 interval 5
> > Jan  1 01:00:09 bokocube dhclient: DHCPREQUEST on eth0 to 255.255.255.255
> > port 67
> > Jan  1 01:00:09 bokocube dhclient: DHCPOFFER from 192.168.178.1
> > Jan  1 01:00:09 bokocube dhclient: DHCPACK from 192.168.178.1
> > Jan  1 01:00:09 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 361711 seconds.
> > Jan  1 01:00:10 bokocube dhclient: DHCPREQUEST on eth0 to 255.255.255.255
> > port 67
> > Jan  1 01:00:10 bokocube dhclient: DHCPACK from 192.168.178.1
> > Jan  1 01:00:10 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 423282 seconds.
> > Jun 28 14:02:57 bokocube dhclient: DHCPDISCOVER on eth0 to 255.255.255.255
> > port 67 interval 5
> > Jun 28 14:02:57 bokocube dhclient: DHCPDISCOVER on eth0 to 255.255.255.255
> > port 67 interval 5
> > Jun 28 14:02:58 bokocube dhclient: DHCPREQUEST on eth0 to 255.255.255.255
> > port 67
> > Jun 28 14:02:58 bokocube dhclient: DHCPOFFER from 192.168.178.1
> > Jun 28 14:02:58 bokocube dhclient: DHCPACK from 192.168.178.1
> > Jun 28 14:02:58 bokocube dhclient: bound to 192.168.178.88 -- renewal in
> > 370838 seconds.
> > Jun 28 14:02:58 bokocube dhclient: DHCPREQUEST on eth0 to 255.255.255.255
> > port 67
> > Jun 28 14:02:58 bokocube dhclient: DHCPOFFER from 192.168.178.1
> > Jun 28 14:02:58 bokocube dhclient: DHCPACK from 192.168.178.1
> > Jun 28 14:02:58 bokocube dhclient: bound to 192.168.178.87 -- renewal in
> > 365945 seconds.
> > rd@bokocube:/var/log$
> > 
> > Thanks,
> > Rainer

-- 
Rainer Dorsch
http://bokomoko.de/


-- 
To UNSUBSCRIBE, email to debian-arm-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/1596941.K6vxU7c7EO@blackbox

Reply via email to