S6B Wifi - Unable to obtain DNS server address

My project requires submitting of data to a webserver, for which I need to obtain the webserver’s IP address. The industry standard solution would obviously be to use the configured DNS servers obtained from DHCP. Regrettably this seems impossible with the S6B’s current firmware…

  1. The AT command interface does not support a method for getting the configured DNS servers. It would be nice if it did ;), but it doesn’t…
  2. Any attempt to send a DHCPInform request manually (in order to get the DNS adresses) results in the DHCP response getting silently swallowed by the S6B before it reaches the serial port.

Additionally it seems that DHCP responses that I “fake” (with a source port other than 67) and send via UDP to destination port 68 on the XBee do arrive successfully on the serial port. So this would appear to be a limitation of the current S6B firmware, and not a bug in my implementation.

Steps to reproduce missing DHCPInform responses:

  1. The S6B has received a valid IP address via DHCP
  2. Turn of DHCP (MA1) .
  3. Configure serial service port to receive DHCP responses on DHCP client port 68 (C068).
  4. Broadcast DHCPInform packet to destination port 67 from source port 68 using UDP via API frame type 0x20.
  5. Transmission status frame type 0x89 with status=0x00 (success) is received via the serial port.
  6. No serial data is received for the received DHCPInform response, despite both request and response being visible via a network protocol analyser.

Is anyone able to offer a workaround that does not involve hard coding IP addresses of one form or another (i.e. either the address webserver or the DNS server to use)?

Unfortunately in its current implementation it seems the S6B just isn’t able to meet my needs for this project and I will have to look elsewhere… :blue:

Suggestions for Digi for a future firmware (any one of which would resolve my current issue):
a. An explicit DNS enquiry API would be really useful ;), and/or…
b. Provide AT commands to get the DHCP configured DNS servers without having to manually perform a DHCPInform to ask for them, and/or…
c. At the very least do not silently sink DHCP responses when the S6B DHCP client is configured OFF (MA1).

What version of firmware are you running?

The current released version of the f/w is fairly limited.

Version 2011 is the first version of firmware to support DNS.

However, this is a beta version and thus subject to many bugs as it is relatively untested.

I’m running the firmware that shipped with the unit - which was obtained brand new from Mouser and only just arrived in from Digi two weeks ago. Sorry, unable to say exactly what version without checking (which I will do later for you).

However I have already successfully performed DNS queries by formatting and sending my own DNS packets on UDP port 53. The only thing I am lacking is a way to get the DNS server address, which I have had to hard code for present.

But do you mean in the beta firmware there will be some native support for performing DNS lookup - either via AT command or a API call? In which case that would be awesome…

I don’t see any firmwares available for download from the support section? Perhaps because it’s still beta? But I’d be happy to do some beta testing, if that’s an option?

Bugs - not so much of a problem at this stage so long as I know the XBee will meet my requirements to do DNS (one way or another) at some point.

My current firmware is:

Firmware version 2004
AR4100P version 20588809
Reg Domain 8000033A
Nov 16 2012 15:05:49

Just to say the extremely helpful guys at Digi O:) have kindly sent me the 2011 beta firmware, which is now installed and working.
The AT commands for getting/setting the DNS server and performing a lookup are a very welcome addition to the product. This is saving me a lot of work, not to mention code space in my implementation.