Jump to content
ants

Wifi Extension Development Thread

Recommended Posts

@ants Good catch! I need to fire up my 'Mystic' Color Classic and see if the Farallon NIC has better success comunicating with the Vonets. (It looks like that's what you've got so I'm sure it will.)

 

On 4/7/2018 at 3:43 AM, ants said:

As for OpenWRT I'm happy to give it a go - the good thing is that if we adopt that standard, then maybe any compatible device will work with our extension. That'd be cool.

I actually went ahead and ordered the one on Newegg, so I'll follow up with my results!

 

Random question - does anyone know where to get a DB25 to IDC adapter so that I can externally connect a SCSI2SD?? My CC still ha a mechanical drive that I would like to mirror over to an SD card...

Share this post


Link to post
Share on other sites

Cool. I've done a bit more groundwork on the extension, I've linked it up to the HTTP library and I've created a base class that should allow us to add other wifi cards such as the one you've ordered. Updates are on GitHub.

 

I've hit a new issue where DNS resolution is failing when making HTTP requests via the Wifi menu. I'm currently at a loss on how to fix this, but again I'll sleep on it for a while and hopefully it'll come to me.

Share this post


Link to post
Share on other sites

Using the proven software development technique of "trying random sh*t until something works", I now have a functioning network list, reading from the VM300:

 

networks.png.2743fe0b4631f5f56c90a645ad51d60a.png

 

Still lots of problems to solve, the main one being that the whole system locks up for 10 seconds when clicking the menu (while waiting for the VM300 to provide a response).

 

I'm gonna take a break on this for a little while.

Share this post


Link to post
Share on other sites

thats what the old school "DoEvents" was supposed to solve in the VB world. I dont know the C equivalent if there is one. 

 

In the early days of me programming, that was what I used to do. I would have a subroutine that did something, and then stuck around and waited for the response. 

 

When I switched to B4X/Java I learned programming another way. Make everything event-driven. So you would setup the request from the VM300 and then return from subroutine. so your not holding up the OS. Then if and when the data arrives, it fires an event which grabs the data, and pulls down the menu. 

Edited by techknight

Share this post


Link to post
Share on other sites

Yeah it's old school on the Mac too, it's called WaitNextEvent... No concept of Threads on System 7!

Edited by ants

Share this post


Link to post
Share on other sites

Just chiming in to say not just how neat this entire project is, but also for the help in getting Retro68 compiled.  I've been meaning to delve into programming 68k, but didn't really know where to begin. 

 

My VM300 arrived today, so I hope to get it working on my compacts soon.  This extension is just sooo cool, and to top off your amazing wifi hack with it is awesome.

Share this post


Link to post
Share on other sites

Well there's always the thread extension :P. Real background tasks on the mac seems to be an art few developers mastered.

Share this post


Link to post
Share on other sites

@K55 thanks for the info. I had thought the Thread Manager was an OS 8 thing, but wrong I was... cheers.

Share this post


Link to post
Share on other sites

@ants Awesome!

 

Still waiting on the new module.. And yeah, @K55 beat me to it, I think the ThreadManager extension can be installed on as old as 7.0??

 

I'll try to delve into OpenWRT as much as I can, as I've gotten quite proficient in *nix OS'es. I think I have an old WRT54G around here somewhere that I can install it on...

Share this post


Link to post
Share on other sites

OK I've implemented the Thread Manager into the networking stack, which now allows the HTTP requests to frequently yield time to other tasks. But there were still limitations to the Thread Manager, so I had to move all of the long processing into a background application. Long story short, the net result is that the menu is now smooth as butter.

 

Next task is to try and get switching between wifi networks working, and add a heap of error handling...

Edited by ants

Share this post


Link to post
Share on other sites

This is a really neat project!

 

This is for way down the road, but you might consider also implementing this as a control panel (or maybe implement the menu and extra stuff as an extension and have it read a preference file created and modified by the control panel, or maybe just a simple application even), so users can change some more advanced settings and stuff, like the Airport software in OS 9 does, and also maybe do stuff like punch in passwords (this will be used with a modern WiFi adapter, so why not? It ought to support WPA2 and such).

 

With some work, this could be a complete re-implementation of (and an extension to, that could be implemented in later SSWs) the UI in OS 9 and early OS X.

 

So, this will run on any version of System 7, pretty much? Have you tried it in 8.0/8.1?

 

c

Edited by CC_333

Share this post


Link to post
Share on other sites

@CC_333 a password dialog will be coming soon. I've already got a preferences file set up for caching the networks, so I hope to store credentials in there too.

 

I haven't done any testing outside of 7.5 yet. The code relies on Thread Manager and MacTCP (or Open Transport) - so I guess it should work on any machine that has these installed.

 

Once things are stable I'll provide a release for people to test on different machines. The Retro68 compiler supports 68k, PPC and Carbon - so there's opportunity to expand this to other OS versions.

Share this post


Link to post
Share on other sites

Since there was some uncertainty earlier on if the VM300 was working with the Asante MacCon for IIsi or SE/30, I thought I'd chime in and report a resounding success.  I now have a wifi connected SE/30!  Woot!  Now I'm even more excited for this extension!

Share this post


Link to post
Share on other sites

A couple of hiccups...

 

1st, if you (stupidly) place an incorrect password for the wireless network you are attempting to connect to, the VM300 interface gives no indication that something is wrong.  It just happily tells you to reboot to finalize, so make sure you are using the correct password, and not the old one you’d changed a couple months back.

 

2nd, the VM300 interface will not let you enter in a password with a comma, so now go back and change the password you’d just set a couple months ago to a new one without a comma.

 

3rd, gasp in disbelief as you slowly realize just how many wireless devices you have that now cannot connect to the network and must have their settings updated manually... ugh.

 

Other than that, easy peasy!

Share this post


Link to post
Share on other sites

haha! It's a shame that the device needs to reboot when changing networks - I guess I'll need to make the extension poll the device until it's rebooted which is a bit yuk.

 

Thanks for the feedback.

Share this post


Link to post
Share on other sites

No dev today, but I drew the icons for the various states - it's been a very long time since I last did pixel pushing like this!

 

wifi-icons.png.dce3da775856e6505219addcbff3b36a.png

 

Share this post


Link to post
Share on other sites
5 minutes ago, ants said:

No dev today, but I drew the icons for the various states - it's been a very long time since I last did pixel pushing like this!

 

wifi-icons.png.dce3da775856e6505219addcbff3b36a.png

 

I've been lurking on the development of this... This is a really neat project!

What are the bottom 4 icons for? What state do those serve that the top don't? Or is that just for low res or 1 bit displays?

Share this post


Link to post
Share on other sites

@ants The icons look great!

@joethezombie Weird mine doesn't work then with my MacCon. I'll have to take it out and see if resetting it works. I do know that it was properly connected to my WiFi.. Hmm. The VM300 is quite flaky, I'm going to see if there's an OpenWRT route we can do as well.

(Still waiting on that OpenWRT mini router from Newegg..) Once I have it I'll see what can be done.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×