I could only find parts of the specs on the IEEE site.
The problem is that my association request fails with reason 18 (required rates aren't supported by the station), even though I believe that they are. The authentication request went through OK first, so I must be doing something wrong in the association stage. I've put this into the rates field:
static const unsigned char eleven_b[] = { 3, 2, 4, 11 };
using this type of code:
frame->u.assoc_req.variable[index++] = sizeof(eleven_b); memcpy(&frame->u.assoc_req.variable[index], eleven_b, sizeof(eleven_b));
The beacon packets from the (Cisco) Access Point has 4 (i.e. 2Mb) defined twice, which is strange. I see { 4, 4, 2, 4, 11 }.
-Nigel