This post is a summary of an off-list conversation. I'm posting it here
so that it's publically archived and searchable for future reference.
It seems that the DHCP client in the HP JetDirect EX Plus is broken;
it's demonstrably RFC-noncompliant, and doesn't work with the dnsmasq
DHCP server. The symptom is a repeating sequence of
DHCPDISCOVER-DHCPOFFER-DHCPREQUEST-DHCPNAK in the log and no IP address
assignment.
There is no direct fix, but a workaround takes advantage of the fact
that the JetDirect attempts to do BOOTP before it does DHCP. Since
dnsmasq also supports BOOTP, this works, provided that a static IP
address is associated with the MAC address of the JetDirect, or the
bootp-dynamic option is enabled in dnsmasq 2.23 or later.
There have been other similar problems with other JetDirect models
before, but in those cases it was possible to add a workarounds to
dnsmasq. This is the first Jetdirect DHCP I've come across which was too
broken to work around.
Cheers,
Simon.