Hi everyone;
I had a lab server running 3.5 and it finally died a couple of weeks ago. When I initially installed it I had a weird issue where some modems would come online and some wouldn't. Well since I have now rebuilt the server and installed 3.5 with the new features by bschirrmeister at https://github.com/bschirrmeister/docsis_server. It works great except I am running into the same issue I had before and I can't find the information that docsis_guy had sent me to fix it.
What is happening is some modems will come online and work fine. But there are some that will not get past DhcpV4Done. Upon investigating this years ago from what I remember it was because the DHCP message was to long for the server and when the modem would read the TFTP part it couldn't get it. So he had me change something in the source to allow for a longer message. When I log into the modem from 192.168.100.1 the ones that are not working say they can't find the file on the server. Yet the others are getting the same exact file. I think it was something in a docsis.h or docsis.c file but again that was a few years ago and I have changed personal computers a couple of times and moved to new offices a few times too. Any help would be great.
TestC4> show cable modem
Jul 17 13:27:46
Interface DOC
(DS-US) Mac Bonded State SIS Qos CPE MAC address IP Address
------------- ----- ------ ----------- --- ------------- --- --------------- ---------------------------------------
14/0-1/0 140 Operational 2.0 0/0 0 0015.a3e0.64f4 192.168.180.4
14/0-1/1 140 Operational 2.0 0/0 0 000f.212c.9cc4 192.168.180.12
14/0-1/8 140 Operational 2.0 0/0 0 0012.c9df.c6f6 192.168.180.3
14/2-1/0 140 Operational 2.0 0/0 0 0000.cae5.fd1f 192.168.180.2
14/2-1/0 140 DhcpV4Done 1.0 0 000b.06a0.94b0 192.168.180.17
14/2-1/0 140 Operational 1.1 0/0 0 0040.7b7d.9768 192.168.180.5
14/3-1/0 140 DhcpV4Done 1.0 0 0020.4078.933e 192.168.180.18
14/3-1/8 140 DhcpV4Done 1.0 0 c014.3de1.188e 192.168.180.16
14/5-1/0 140 DhcpV4Done 1.0 0 001d.d2e8.e705 192.168.180.14
14/5-1/8 140 DhcpV4Done 1.0 0 001d.d018.e2b2 192.168.180.15
14/6-1/0 140 Operational 1.1 0/0 0 0010.955f.48d8 192.168.180.6
14/6-1/0 140 Operational 1.1 256/1000 1 0010.95f0.0777 192.168.180.7
Total Oper Disable Init Offline
---------------------------------------------------------
Total 12 7 0 5 0
TestC4>
Thanks,
Jeff
What does the TFTP server say the request is coming in as ? or does it just never get there?
I don't see it hitting the server and the logs of the modem say that it can't find the file. But yet other modems using the exact same setup do.
Here is the capture dhcpdump. I have to get the logs from the tftp but it is empty of anything from this modem.
---------------------------------------------------------------------------
TIME: 2013-07-17 11:04:34.778
IP: 192.168.180.1 (0:1:5c:36:0:30) > 10.1.1.2 (0:10:7a:68:31:1c)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 1
XID: ffff94b0
SECS: 0
FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 192.168.180.1
CHADDR: 00:0b:06:a0:94:b0:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 61 ( 7) Client-identifier 01:00:0b:06:a0:94:b0
OPTION: 60 ( 86) Vendor class identifier docsis1.1:05240101010201010301010401010501010601010701000801040901000a01010b01080c0101
OPTION: 55 ( 8) Parameter Request List 1 (Subnet mask)
2 (Time offset)
3 (Routers)
4 (Time server)
6 (DNS server)
7 (Log server)
67 (Bootfile name)
66 (TFTP server name)
OPTION: 43 (107) Vendor specific info 08030020400a084d ... @..M
6f746f726f6c6109 otorola.
0653423432303006 .SB4200.
1a5342343230302d .SB4200-
312e342e392e3130 1.4.9.10
2d53434d30302d4e -SCM00-N
4f53480501310719 OSH..1..
5342343230302d30 SB4200-0
2e342e342e302d53 .4.4.0-S
434d30362d4e4f53 CM06-NOS
4804183130353230 H..10520
3333303731303631 33071061
3332383033303330 32803030
303030 000
OPTION: 82 ( 25) Relay Agent Information
Circuit-ID 20:00:00:8d
Remote-ID 00:0b:06:a0:94:b0
Chaos 00:00:11:8b:04:01:02:03:00
---------------------------------------------------------------------------
TIME: 2013-07-17 11:04:34.781
IP: 10.1.1.2 (0:10:7a:68:31:1c) > 192.168.180.1 (0:1:5c:36:0:30)
OP: 2 (BOOTPREPLY)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 1
XID: ffff94b0
SECS: 0
FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 192.168.180.17
SIADDR: 10.1.1.2
GIADDR: 192.168.180.1
CHADDR: 00:0b:06:a0:94:b0:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: wideopen.bin.
OPTION: 53 ( 1) DHCP message type 2 (DHCPOFFER)
OPTION: 1 ( 4) Subnet mask 255.255.252.0
OPTION: 3 ( 4) Routers 192.168.180.1
OPTION: 28 ( 4) Broadcast address 192.168.183.255
OPTION: 51 ( 4) IP address leasetime 28800 (8h)
OPTION: 58 ( 4) T1 28500 (7h55m)
OPTION: 59 ( 4) T2 28500 (7h55m)
OPTION: 2 ( 4) Time offset -14400 ()
OPTION: 3 ( 4) Routers 10.1.1.2
OPTION: 4 ( 4) Time server 10.1.1.2
OPTION: 7 ( 4) Log server 10.1.1.2
OPTION: 54 ( 4) Server identifier 10.1.1.2
OPTION: 67 ( 12) Bootfile name wideopen.bin
---------------------------------------------------------------------------
TIME: 2013-07-17 11:04:34.792
IP: 192.168.180.1 (0:1:5c:36:0:30) > 10.1.1.2 (0:10:7a:68:31:1c)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 1
XID: ffff94b0
SECS: 0
FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 192.168.180.1
CHADDR: 00:0b:06:a0:94:b0:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 3 (DHCPREQUEST)
OPTION: 61 ( 7) Client-identifier 01:00:0b:06:a0:94:b0
OPTION: 60 ( 86) Vendor class identifier docsis1.1:05240101010201010301010401010501010601010701000801040901000a01010b01080c0101
OPTION: 50 ( 4) Request IP address 192.168.180.17
OPTION: 54 ( 4) Server identifier 10.1.1.2
OPTION: 55 ( 8) Parameter Request List 1 (Subnet mask)
2 (Time offset)
3 (Routers)
4 (Time server)
6 (DNS server)
7 (Log server)
67 (Bootfile name)
66 (TFTP server name)
OPTION: 43 (107) Vendor specific info 08030020400a084d ... @..M
6f746f726f6c6109 otorola.
0653423432303006 .SB4200.
1a5342343230302d .SB4200-
312e342e392e3130 1.4.9.10
2d53434d30302d4e -SCM00-N
4f53480501310719 OSH..1..
5342343230302d30 SB4200-0
2e342e342e302d53 .4.4.0-S
434d30362d4e4f53 CM06-NOS
4804183130353230 H..10520
3333303731303631 33071061
3332383033303330 32803030
303030 000
OPTION: 82 ( 25) Relay Agent Information
Circuit-ID 20:00:00:8d
Remote-ID 00:0b:06:a0:94:b0
Chaos 00:00:11:8b:04:01:02:03:00
---------------------------------------------------------------------------
TIME: 2013-07-17 11:04:34.795
IP: 10.1.1.2 (0:10:7a:68:31:1c) > 192.168.180.1 (0:1:5c:36:0:30)
OP: 2 (BOOTPREPLY)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 1
XID: ffff94b0
SECS: 0
FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 192.168.180.17
SIADDR: 10.1.1.2
GIADDR: 192.168.180.1
CHADDR: 00:0b:06:a0:94:b0:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: wideopen.bin.
OPTION: 53 ( 1) DHCP message type 5 (DHCPACK)
OPTION: 1 ( 4) Subnet mask 255.255.252.0
OPTION: 3 ( 4) Routers 192.168.180.1
OPTION: 28 ( 4) Broadcast address 192.168.183.255
OPTION: 51 ( 4) IP address leasetime 28800 (8h)
OPTION: 58 ( 4) T1 28500 (7h55m)
OPTION: 59 ( 4) T2 28500 (7h55m)
OPTION: 2 ( 4) Time offset -14400 ()
OPTION: 3 ( 4) Routers 10.1.1.2
OPTION: 4 ( 4) Time server 10.1.1.2
OPTION: 7 ( 4) Log server 10.1.1.2
OPTION: 54 ( 4) Server identifier 10.1.1.2
OPTION: 67 ( 12) Bootfile name wideopen.bin
---------------------------------------------------------------------------
The modem requested option 66 (TFTP server name) but the offer does not include this option, some modems are picky about that I include both option 66 and next server too.
Yeah I actually had just turned off 66 to see if the other modems would still work without it, and they did.
Like I said in the original post there was something I had to change in the source files of the server then rebuild it for it to work. I am surprised no one else is seeing the same issue I am. I am building a virtual CentOS and I am going to rebuild it again in that.
Just noticed something. I enabled option 66 and it isn't filling in when it is requested. I also noticed that the sname is a period. I turned off 66 because it looked to me like it technically isn't needed since the dhcp server according to the rfc should be default as the tftp server. So now I need to figure out why for both of those. Should the opt_dtype for the tftp server be "IP" in docsis_server?
9.4 TFTP server name
This option is used to identify a TFTP server when the 'sname' field
in the DHCP header has been used for DHCP options.
The code for this option is 66, and its minimum length is 1.
Code Len TFTP server
+-----+-----+-----+-----+-----+---
| 66 | n | c1 | c2 | c3 | ...
+-----+-----+-----+-----+-----+---
CHADDR: 00:0b:06:a0:94:b0:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: wideopen.bin.
OPTION: 53 ( 1) DHCP message type 5 (DHCPACK)
OPTION: 1 ( 4) Subnet mask 255.255.252.0
OPTION: 3 ( 4) Routers 192.168.180.1
OPTION: 28 ( 4) Broadcast address 192.168.183.255
OPTION: 51 ( 4) IP address leasetime 28800 (8h)
OPTION: 58 ( 4) T1 28500 (7h55m)
OPTION: 59 ( 4) T2 28500 (7h55m)
OPTION: 2 ( 4) Time offset -14400 ()
OPTION: 3 ( 8) Routers 10.1.1.2
OPTION: 4 ( 4) Time server 10.1.1.2
OPTION: 6 ( 4) DNS server 209.18.47.61
OPTION: 7 ( 4) Log server 10.1.1.2
OPTION: 54 ( 4) Server identifier 10.1.1.2
OPTION: 66 ( 4) TFTP server name
OPTION: 67 ( 12) Bootfile name wideopen.bin
Thanks,
Jeffery