• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Wifi Extension Development Thread

10001001sos

Active member
Actually @ants, when the SE problem is fixed, is it possible to add telnet support?  If this is already a thing (a quick Google search brings up the WiFi Modem product) please let me know.  Since the RS-232 WiFi Modem connects to Routers, it should be possible for an OpenWRT device to support telnet and Hayes AT commands (Since the router is really a bridge).

Edit: TCPSer evidently works with OpenWRT (can be installed as a package).

 
Last edited by a moderator:

Michael_b

Well-known member
Actually @ants, when the SE problem is fixed, is it possible to add telnet support?  If this is already a thing (a quick Google search brings up the WiFi Modem product) please let me know.  Since the RS-232 WiFi Modem connects to Routers, it should be possible for an OpenWRT device to support telnet and Hayes AT commands (Since the router is really a bridge).

Edit: TCPSer evidently works with OpenWRT (can be installed as a package).


What exactly do you mean by telnet support? OpenWRT devices no longer act as telnet servers due to security concerns. It should be possible to connect to the openwrt device over ssh, however.

regardless, I’ve just been using a terminal emulator on the SE to connect to servers.

I’m not familiar with TCPser but it looks like it hasn’t been a part of OpenWRT for a few years. You’d need to compile it yourself.

 

10001001sos

Active member
What exactly do you mean by telnet support? OpenWRT devices no longer act as telnet servers due to security concerns. It should be possible to connect to the openwrt device over ssh, however.

regardless, I’ve just been using a terminal emulator on the SE to connect to servers.

I’m not familiar with TCPser but it looks like it hasn’t been a part of OpenWRT for a few years. You’d need to compile it yourself.
What I meant by "telnet support" is that I want to be able to connect to a BBS without using serial cables and use WiFi instead.  If it doesn't exist already, I was hoping that the extension could forward the commands given by the terminal emulator and transmit data (with the router acting as a modem for this setup)

 

Michael_b

Well-known member
What I meant by "telnet support" is that I want to be able to connect to a BBS without using serial cables and use WiFi instead.  If it doesn't exist already, I was hoping that the extension could forward the commands given by the terminal emulator and transmit data (with the router acting as a modem for this setup)
Perhaps I’m mistaken, but can’t you telnet into those BBSs as-is on any internet connected computer?

 

10001001sos

Active member
@Michael_b That seems to be a feature of many modern OS's and might apply to old ones too, but when connecting my Macintosh to a BBS, I currently have to:

1.) Connect a serial cable to my modern PC and the Mac

2.) Run TCPser on the modern computer to a select port # and speed.  This makes it emulate a Hayes Modem (Bridging the PC's Wifi and the Macintosh)

3.) Open up a terminal emulator like Kermit to the mentioned speed and Serial port.

4.) Open up the terminal's command window and use the dial command (followed by the BBS and port number)

5.) You are connected to a BBS..............Hopefully  :p

I haven't tried many other ways to accomplish a connection, but if the OpenWRT device can replicate this process (acting as the modern PC as mentioned above) using Ethernet cables instead of Serial cables, that would be quite cool.  If there is an easier way to do this, then please let me know.  :)

That's why I was talking about TCPser earlier.  TCPser only runs on Windows with a Linux-emulating DLL, but it can run natively on OpenWRT as a package/program (OpenWRT is really a Linux System).  Having the ability to toggle the TCPser program and settings at ease with OpenWRT could make telnet much more portable and compact.

Also, when you were talking about direct telnet access from a computer with internet, I think that is only the case with newer commands like SSH, not dial (you could technically add support for this in the extension, but some BBS's may not support SSH connections (I could be wrong here too)).  Telnet with classic dialing will need a real modem or a router which emulates the modem.

 

Michael_b

Well-known member
Actually, Is it possible to use NCSA Telnet to connect to a BBS using only ethernet and an internet connection?
I’m no expert but I believe so. I can connect to rainmaker.wunderground.com (wunderground’s telnet server) using only an Ethernet connection through a terminal emulator on the Mac.

 

ants

Well-known member
@Michael_b @10001001sos I finally had some spare time and I believe I've figured out the issue with System 7. The issue was not MacTCP as I originally thought, but simply that you need to install the Thread Manager extension.

I had previously only tested the extension on System 7.5, which has Thread Manager included - but it's not included with earlier OSes. Here's the MacWifi extension running on System 7.1:

system-7.1.PNG

I've updated the Readme on the MacWifi GitHub page to include information about Thread Manager: https://github.com/antscode/MacWifi

 

10001001sos

Active member
@Michael_b @10001001sos I finally had some spare time and I believe I've figured out the issue with System 7. The issue was not MacTCP as I originally thought, but simply that you need to install the Thread Manager extension.

I had previously only tested the extension on System 7.5, which has Thread Manager included - but it's not included with earlier OSes. Here's the MacWifi extension running on System 7.1:

View attachment 29195

I've updated the Readme on the MacWifi GitHub page to include information about Thread Manager: https://github.com/antscode/MacWifi
Thanks for the update  ;-D   I will try this as soon as I can on my SE.  I will let you know what the results are

 

Michael_b

Well-known member
@Michael_b @10001001sos I finally had some spare time and I believe I've figured out the issue with System 7. The issue was not MacTCP as I originally thought, but simply that you need to install the Thread Manager extension.


Thanks for the update  ;-D   I will try this as soon as I can on my SE.  I will let you know what the results are
Thanks for looking into this! I've installed the thread manager extension into the system folder - unfortunately I still get the persistent "Searching for Networks" message. It's entirely possible that there's something weird with this install of 7.1 and the fault isn't with the Wifi Extension though, so I'm very curious if @10001001sos experiences the same problem.

EDIT: If it's of any interest, no preferences file is generated at any point.

 
Last edited by a moderator:

ants

Well-known member
@Michael_b Attached is a version of the extension with some logging added. Before installing, please rename your primary disk to "Mac HD (68K)" (without the quotes). Solely because I was too lazy to write the code to find the primary drive...

Then after rebooting, wait a few minutes and you should see wifi.txt in the root of Mac HD (68K). Please post the contents of this file.  If there's no file we're really in trouble!

View attachment MacWifi.APPL.sit

 

10001001sos

Active member
Thanks for looking into this! I've installed the thread manager extension into the system folder - unfortunately I still get the persistent "Searching for Networks" message. It's entirely possible that there's something weird with this install of 7.1 and the fault isn't with the Wifi Extension though, so I'm very curious if @10001001sos experiences the same problem.

EDIT: If it's of any interest, no preferences file is generated at any point.
I will try to test the extension with the thread manager this weekend.  The stupid serial transfer keeps messing up and is deleting the last 100 bytes  :vent:   I may just have to use my Kryoflux Card.

Also @Michael_b, did you configure your network properly?  You have to go inside the network control panel and select your card/device, then you go into MacTCP and set your static IP address within the router’s range.  The other important part is to set your DNS name to “.” And the address to the router’s gateway.  One other thing, can you get any internet access, or is it just the extension that isn’t working?  I am able to get WiFi at the moment, but I need to finish installing the thread manager to get the app to fully work.

@ants Don’t you also have to use the authentication info for setting up the json-rpc?  That could also be one of the issues @Michael_b is experiencing.  I guess the logs (if they show up) should solve this problem.

 
Last edited by a moderator:

Michael_b

Well-known member
@Michael_b

Then after rebooting, wait a few minutes and you should see wifi.txt in the root of Mac HD (68K). Please post the contents of this file.  If there's no file we're really in trouble!

View attachment 29240
:cry:  On the SE with System 7.1, no file generated... The .txt file is generated immediately on the iMac running 9.2.2, and it seems to write to it just fine there as it goes through the process of logging in. No such luck on the SE. Out of curiosity, since things are behaving weirdly here, is the processor of the computer at all relevant? It seems that it should not be, but I don't know if anyone has successfully gotten this working on anything other than an SE/30... I am certainly grasping at straws, and there is always a chance that something is not right on my end. Thanks for implementing logging to help figure this out. 

I will try to test the extension with the thread manager this weekend.  The stupid serial transfer keeps messing up and is deleting the last 100 bytes  :vent:   I may just have to use my Kryoflux Card.

Also @Michael_b, did you configure your network properly?  You have to go inside the network control panel and select your card/device, then you go into MacTCP and set your static IP address within the router’s range.  The other important part is to set your DNS name to “.” And the address to the router’s gateway.  One other thing, can you get any internet access, or is it just the extension that isn’t working?  I am able to get WiFi at the moment, but I need to finish installing the thread manager to get the app to fully work.

@ants Don’t you also have to use the authentication info for setting up the json-rpc?  That could also be one of the issues @Michael_b is experiencing.  I guess the logs (if they show up) should solve this problem.
I can connect to the internet just fine on the SE as is, and the Wifi extension is working on an iMac running 9.2. 

Looking forward to seeing if you get better results than I do with thread manager. 

Screen Shot 2019-08-16 at 10.28.55 PM.png

 

ants

Well-known member
Maxed out with 4MB
That's the problem. The extension itself is over 2mb in size, and it's memory requirement is set to 4mb. On a SE/30 with 128mb of RAM that's of course not an issue, but I didn't realise the SE's maximum memory was so low!

The reason the extension is so big is due to a combination of factors:

  1. It's written in C++. The C++ library is almost 1mb in size. I could rewrite it in C, but that's a big job and I'm not much of a C programmer.
  2. The extension relies on a number of other libraries. The biggest on is iconv at almost 1mb which is used to convert UTF-8 text to MacRoman - however this is only required if you plan to use the Spotify app I wrote.
Attached is a version of MacWifi with a reduced memory requirement of 1.5mb. I've removed the iconv library from this build, but I've kept the logging code in for now.

Give it a go, but unfortunately it's not going to leave you with much free RAM for other applications.

View attachment MacWifi.APPL.sit

 

Trash80toHP_Mini

NIGHT STALKER
If you can get it set up to run from a custom ROM in the SE and Plus, that might be a significant achievement? Dunno if an extension can reside in ROM space, but might be worth a look?

 

Trash80toHP_Mini

NIGHT STALKER
Was thinking about this at work. Might a your extension be streamlined to the bare bare essentials in System memory, but set up to make the equivalent of toolbox calls to the balance of the driver at locations within extended ROM space for Plus/SE/Classic?

 

ants

Well-known member
The simplest thing would be to rewrite it in C - that'd probably get it down to about 200k...

 

Crutch

Well-known member
The simplest thing would be to rewrite it in C - that'd probably get it down to about 200k...
@ants remind me what compiler you used to build it?  Is it possible the linker is including the whole C++ library even though you are presumably even using a tiny slice of it?  I am certain you could built it in C++ using CodeWarrior and it would be a fraction of that size.  (The FirePower screensaver I recently uploaded the Garden - link in the Software forums - is written in C++, fat binary and under 200k as I recall, compiled with CodeWarrior.).  I’m not sure what external libraries you’re using than iconv, but would a CW recompilation be possible?

 
Top