Jump to content


Premium Members
  • Posts

  • Joined

  • Last visited

Contact Methods

  • Website URL
  • ICQ

Profile Information

  • Gender
  • Location
    The depths of the Internet

sgstair's Achievements


Newbie (1/14)



  1. Hi, 1) The lib was written in a way so it does not recognize that an AP existing without a SSID broadcast is possible. 2) Support will be added in the next version of the lib (which is at least a few months away) 3) It could be hacked in, but that doesn't directly help existing apps much (they would have to recompile). I've been investigating a change that could make it work, but I have not completed it yet. So, no help yet... This is just a bit difficult to support with the current lib. -Stephen
  2. Yes, this is a known issue. The DS library closesocket() abruptly terminates the connection rather than allowing it to wait to complete. This will be fixed in a future version - in the meantime though, it's suggested to use shutdown, and wait for the other end to close the socket before closing it. (use recv() and wait for it to return 0) There isn't a better solution at this time -Stephen
  3. Hi, You are most certainly losing data, but it's not due to the wifi lib. The current buffer size in the wifi lib is indeed 8192 bytes, which means the maximum number of bytes that can be sent is 8191 bytes. The "send" call does fail when you send more bytes than are available in the buffer- but it fails telling you how many bytes it sent; this is by the design of the BSD Sockets layer, to allow you to know that a certain number of bytes were sent. I think it's very unlikely that you would be losing data if you handled the return code of send() appropriately and retried the send of the bytes that weren't sent until they were added to the buffer Also, if you're pretty new to packet sniffers, a lot of times "malformed" packets come up in normal traffic. They're more likely in the case of DS traffic as the wifi hardware is far from perfect and often packets get retransmitted a lot. (wireshark/ethereal almost always mark duplicate packets as "malformed") Let me know if you continue to have problems after fixing your use of send(), I'm not aware of any errors in this code path but it's not a very well tested one. -Stephen
  4. It's probably a bug in the wifi lib, or in the way the wifilib is talking to the hardware - but I don't know which - this is one of the reasons the lib is being rewritten.
  5. It will eventually make it's way to a more accessable location, but for now the lib test source can be downloaded from: http://devkitpro.org/files/wifi_lib_test.zip Also, the other example project (wifi_example1) is at: http://akkit.org/dswifi/wifi_example1_r20.zip Have fun
  6. select() is supported in the dswifi lib - you just can't setup the fd_set like that. Another alternative would be to use nonblocking sockets (research ioctl() and FIONBIO) Good luck
  7. Yeah, it's standard- Microbnc I think it's called? I don't remember.
  8. Not very directional, and no - 2mbit is the limit.
  9. Oh right - yes, the header does provide signal strength. And it's a bit of a hack to get to it, but it's right next to the speed (I meant to say strength, not speed - but managed to confuse them in my reply) See here (though not entirely accurate): http://akkit.org/info/dswifi.htm#FmtRx The wifi RX header is in the buffer right -before- the pointer the "raw" API gives you, so you have to compute the address and read it. Next version will provide easier access. (Also the RSSI readings are more complex than indicated, I'll document this sometime.)
  10. Yup, And actually if you are connected to an AP, you can receive all 1-2mbit packets "attached" to that AP. When you enable raw packet capture you have the ability to get a header including the speed.. though it's a little bit of a hack.
  11. Hi all - the DS Wifi lib 0.3.3 is out now, correcting one of the biggest annoyances so far, which was connection problems with newer DS lites. If you're still having problems with the wifi lib, first try the 0.3.3 test app at http://akkit.org/dswifi/wifi_lib_test.nds If you can connect to your Access Point with that app, then probably whatever app you are having trouble with hasn't upgraded yet, and you should pester the author Or, start a new thread and complain about it, or something. Poiint is, If the wifi lib test works for you, please don't post your problems in this thread. If the wifi lib test doesn't work for you: there are a few reasons that this might be. I'd like to hear about if if there are problems but just saying you're having problems is -not- very useful. What I'd like to hear is, specificly what problem you're having... What state it stops working at in the wifi test app, or how the test app behaves that you think is strange. I also need to know what sort of Access Point you're using (model number would be good) what type of DS you're using and how recently you got it. And what homebrew device you are using to run the test app. This information is very useful for troubleshooting problems, if nothing else I can probably obtain the same hardware and test with it! If commercial DS games don't work with the router, this is also a very important piece of information. The wifi lib should work in most cases DS games do now. I hope Sometimes routers can be configured to make the DS wifi connection work, or be more stable too. In order to be able to research this though it's very important to know what type of router you're using. That being said, there are still a few common connection problems that are known: Problem Using Nintendo WiFi USB stick for connection. This works for commercial games but not for the wifi lib. Solution Presently the wifi lib doesn't support using the wifi USB stick with it's own drivers. There are methods to convert the usb stick into a generic software Access Point, that will work with the dswifi lib. Supporting the usb stick natively is planned but not a high priority right now. (Here's a gbadev post that details how to make the usb stick act like a generic soft-AP: Gbadev.org forum post) Problem Both the ds wifi lib and commercial games cannot connect to the AP Solution Depends on the access point. Many access points have a way to control the "base rate set", but it might not be called that. Look in the router/access point web interface for any mention of a "Base rate set" or "B/G compatibility mode" - if you have a similar option, you should set the base rate set to 1-2Mbit or the compatiblity mode to "Wireless-B" or "802.11B" Additionally, neither commercial games nor the wifi lib currently support WPA, so if the Access Point is using WPA encryption, it must be set back to none or WEP only, for the DS to connect. Problem Wifi lib can't connect, stuck on ASSOCSTATUS_SEARCHING - but commercial games connect fine Solution the ds wifi lib doesn't yet support probe requests, as such the access point needs to be broadcasting "beacons" in order for the wifi lib to see it and be able to connect. All routers should have a setting to enable or disable sending beacons, it will probably be a checkbox called something like "Enable SSID Broadcast" or "Allow broadcast of name (SSID)" or "Send Beacons" or something of that nature. It needs to be enabled in order for the DS to see the router. Also if the router allows you to set the beacon transmit rate, it should be 1 or 2 mbit in order for the DS to be able to receive them. (If there are other problems/solutions, they'll be added here. It's entirely likely I've missed a few) Good luck and happy wifi-ing
  12. Hi, DSwifi lib version 0.3.3 now works on the latest hardware. the problem was with changing channels being incorrect, that code has been updated and tested with the new hardware and is now working. Test app for 0.3.3 is available at http://akkit.org/dswifi/wifi_lib_test.nds
  13. Hiya; Sorry, I've been distracted by other things and missed your messages. There have been a few changes to the wifi lib since we last spoke; please try that again, http://akkit.org/dswifi/wifi_lib_test.nds Generally speaking, if the official games work with a DS and AP, the wifi lib should work with that DS and AP now. If you're still having problems with the new lib test, please let me know though.
  14. Hiya; Yes, we have figured this out and the latest version of the wireless lib includes improved code to deal with the newer DSlites - I finially managed to get one to test with and have updated the code so it works. So, dswifi lib 0.3.3 and higher will work with newer DS lites - if you want to try it out, test http://akkit.org/dswifi/wifi_lib_test.nds
  15. Not quite - the wifi lib can provide channel changing but doesn't currently receive all packets in promiscuous mode. (There is a way to do this, but it's not documented and requires some lower level hacking at this point - I haven't confirmed that it works yet, either...)
  • Create New...