0

I am trying to configure wpa_supplicant to use it in an embedded system project under the following environment:

  • No operating system
  • Proprietary compiler and processor
  • Single Threaded
  • No Filesystem
  • Using OpenSSL library
  • LWIP

Is there anyway to do that? noting that I only need the supplicant and not the server or authenticator part.

  • 1
    Did you try anything that failed already? –  Aug 22 '17 at 08:39
  • @Mahmoud Mahdi porting it will require much more effort than just set some magical "configurations settings" . – 0___________ Aug 22 '17 at 08:43
  • @PeterJ depends on the code (I didn't have a look). If you're **lucky** and the code is written portably without using threads, this target *could* be easy (except for the "no filesystem" part) –  Aug 22 '17 at 08:50
  • 1
    @Felix Palmen in a dreamland maybe yes.:) – 0___________ Aug 22 '17 at 08:57
  • @PeterJ given this "*dream*" is the idea of sensible software developers aiming for portability ... ;) But anyways, it's a bit unlikely and this question is probably "too broad" here. –  Aug 22 '17 at 08:58
  • @Felix Palmen sure :) dream on. I would suggest to make LWIP, OpenSSL work on the device first. – 0___________ Aug 22 '17 at 09:04
  • The question is too broad. If the source you linked was written similar to lwip, it will have all platform-related functionality separated behind an interface (i.e. a header). So by looking at how different functions are implemented for a certain OS, you might be able to port them to your system. However, if the code is using threads (like @Felix wrote above), then you won't be able to do much without an actual OS. – vgru Aug 22 '17 at 09:22
  • You can try reading the [docs for porting](http://w1.fi/cgit/hostap/tree/doc/porting.doxygen), you need to implement most of the headers in the [`src/utils`](http://w1.fi/cgit/hostap/tree/src/utils?id=024d018b55af1d7d8b94c9130a85b38401bc8293) folder, for your platform. – vgru Aug 22 '17 at 09:33
  • @FelixPalmen I am using WolfSSL which has a layer of compatibility with OpenSSL,I mentioned OpenSSL because it is the default for WPA_Supplicant. – Mahmoud Mahdi Aug 22 '17 at 10:01
  • @PeterJ I don't mind the effort of course, but for example: in WolfSSL they have ./configure command with --enable-[feature]=[yes/no] so I was wondering if I can do the same here – Mahmoud Mahdi Aug 22 '17 at 10:02
  • @Groo `However, if the code is using threads` then you can use RTOS. Porting to bare metal is usually (at least the ports I have done) a very challenging and boring task. It requires from the porter deep knowledge of the original system and the destination hardware. Sometimes is easier and faster to write it from the scratch (just using some algorithms from the original version). – 0___________ Aug 22 '17 at 10:11

0 Answers0