WiFi RS21 driver features

I am new to programming the WiFi RS21 + Raptor + SDK 2014 R5. First trial connections seem to work good, but now I have some questions concerning the driver’s features for which I couldn’t find answers in the documentation or the forum so far:

  1. Can I find the source for the GTM.Module.NetworkModule class, from which the WiFiRS21-class is derived, somewhere (would be maybe a means to answer some of the below questions myself), or is it proprietary to GHI ?

  2. Are the Power Save Modes “Sleep” and “Standby” (see RS-9110 datasheet) accessible by the WiFiRS21-class / -driver or is there any way to achieve them ?

  3. Is a there a means provided to completely turn WLAN on and off at HAL-/driver-level or do I have to do this by hardware ?

  4. Is so-called ESS-reassociation (transition to a stronger channel w/ same SSID in a multi AP environment) inherently handled by the driver or do I have to take care about that “manually” ? If manually, would it be possible to do this without temporarily disconnecting?

  5. Is it correct, that normally there should be no need for wifiRS21.NetworkInterface.RenewDhcpLease(), because the DHCP server would do this (if the client stays connected)? I am a bit unsure if and when to use this method, e.g. considering DHCP Lease Process | Microsoft Learn, especially because I couldn’t find any property containing an info about when DHCP lease expires. Do I have to handle this?

Would be great, if one or some of the more experienced could help me with the above items, which are currently “blank spots” to me.

@ Harald -

1: You can find the source for NetworkModule here: https://gadgeteer.codeplex.com/SourceControl/latest#Main/GadgeteerCore/Gadgeteer43/Modules/NetworkModule.cs The WiFiRS21 Gadgeteer driver is only a thin wrapper around our GHI.Networking.WiFiRS21 class – itself a wrapper around native firmware functionality.

2: We do not expose the power states.

3: If you want to turn off the module when not in use, you will want to use the NETMF class itself and not try and work with the Gadgeteer driver. You can dispose of the interface object when not in use and potentially hold the device in reset. I am not sure what its power draw will be in that state though.

4: I am not sure if this is handled off of the top of my head, but a test should not be too difficult to construct.

5: I do not believe you need to call RenewDhcpLease. It should be handled for you. I have had devices running for over a week using DHCP and that function was never called.

1 Like

@ John - Wow, thanks for the clarifying anwer with “speed of sound”. Felt a little bit, like the reply was already received before I could click the Submit button :wink:

By the way: Wouldn’t be supporting the Power Save Modes a desirable feature for the medium-term future?

@ Harald - Happy to help. Exposing the low power features of the underlying module is something that we would like to do but we do not have anything concrete planned just yet.