VOGONS


Reply 100 of 114, by STrRedWolf

User metadata
Rank Newbie
Rank
Newbie

A bit of an update. I was able to procure a Netgear FA411 and get it running, so I can Telnet with mTCP.

I did see a SSH2DOS program and source code, which was classified as abandoned. I've pulled it up into Github in line to switch it over to mTCP and plug in another cypher to get it working on modern SSH daemons.

And one other thing. I found some old hardware that may be useful, a few Compact Flash cards.

  • Socket LP-E "Low Power Ethernet" adapter (with dongle!)
  • Belkin Bluetooth PDA Adapter
  • AmbiCom WL54-CF Wifi-G adapter
  • SparkLan WCFM-100 Wifi-G adapter

Since these ran off the Zaurus which ran Linux, I should have the source code to see about writing packet drivers and control programs with. Guess I better set up an Open Watcom compiler...

Reply 101 of 114, by ishotjr

User metadata
Rank Newbie
Rank
Newbie

The Socket is NE2000 so should "just work" using the same/similar stack as your Netgear FA411 - I've detailed the required setup here:

https://www.palmtop.dev/200lx/networking/2021 … networking.html

but it sounds like you're already in good shape. Very interested to hear about your results writing drivers for Wi-Fi and BT though; I have the Wi-Fi version of the Socket card and would love some guidance as to how I might do similar there ... 😀

Reply 102 of 114, by radiance32

User metadata
Rank Member
Rank
Member
STrRedWolf wrote on 2022-06-03, 01:08:
A bit of an update. I was able to procure a Netgear FA411 and get it running, so I can Telnet with mTCP. […]
Show full quote

A bit of an update. I was able to procure a Netgear FA411 and get it running, so I can Telnet with mTCP.

I did see a SSH2DOS program and source code, which was classified as abandoned. I've pulled it up into Github in line to switch it over to mTCP and plug in another cypher to get it working on modern SSH daemons.

And one other thing. I found some old hardware that may be useful, a few Compact Flash cards.

  • Socket LP-E "Low Power Ethernet" adapter (with dongle!)
  • Belkin Bluetooth PDA Adapter
  • AmbiCom WL54-CF Wifi-G adapter
  • SparkLan WCFM-100 Wifi-G adapter

Since these ran off the Zaurus which ran Linux, I should have the source code to see about writing packet drivers and control programs with. Guess I better set up an Open Watcom compiler...

Yup, the Acton driver for NE2000 cards (LXCIC.COM enabler and LXEN2216.COM packet driver) that works with the FA411 also works with the Socket LPE (Compact Flash form NIC),
I use both NICs in my 200LX webserver setup (https://www.palmtoptube.com), the FA411 for the webserver (it does 10 and 100MBps) and the Socket LPE in my upcoming FTP server (does 10MBps only)...

I've had the best results with the FA411 so far, it's slightly faster than the Socket LPE, but, both cards work %100 stable/reliable...

Radiance

Check out my new HP 100/200LX Palmtop YouTube Channel! https://www.youtube.com/channel/UCCVChzZ62a-c4MdJWyRwdCQ

Reply 103 of 114, by radiance32

User metadata
Rank Member
Rank
Member
STrRedWolf wrote on 2022-06-03, 01:08:
A bit of an update. I was able to procure a Netgear FA411 and get it running, so I can Telnet with mTCP. […]
Show full quote

A bit of an update. I was able to procure a Netgear FA411 and get it running, so I can Telnet with mTCP.

I did see a SSH2DOS program and source code, which was classified as abandoned. I've pulled it up into Github in line to switch it over to mTCP and plug in another cypher to get it working on modern SSH daemons.

And one other thing. I found some old hardware that may be useful, a few Compact Flash cards.

  • Socket LP-E "Low Power Ethernet" adapter (with dongle!)
  • Belkin Bluetooth PDA Adapter
  • AmbiCom WL54-CF Wifi-G adapter
  • SparkLan WCFM-100 Wifi-G adapter

Since these ran off the Zaurus which ran Linux, I should have the source code to see about writing packet drivers and control programs with. Guess I better set up an Open Watcom compiler...

Can you keep us (or at least me) updated on your progress with the mTCP conversion of SSH2DOS ?
I'm very keen on trying it out once it's working...

Cheers,
Radiance

Check out my new HP 100/200LX Palmtop YouTube Channel! https://www.youtube.com/channel/UCCVChzZ62a-c4MdJWyRwdCQ

Reply 104 of 114, by radiance32

User metadata
Rank Member
Rank
Member
STrRedWolf wrote on 2022-06-03, 01:08:
A bit of an update. I was able to procure a Netgear FA411 and get it running, so I can Telnet with mTCP. […]
Show full quote

A bit of an update. I was able to procure a Netgear FA411 and get it running, so I can Telnet with mTCP.

I did see a SSH2DOS program and source code, which was classified as abandoned. I've pulled it up into Github in line to switch it over to mTCP and plug in another cypher to get it working on modern SSH daemons.

And one other thing. I found some old hardware that may be useful, a few Compact Flash cards.

  • Socket LP-E "Low Power Ethernet" adapter (with dongle!)
  • Belkin Bluetooth PDA Adapter
  • AmbiCom WL54-CF Wifi-G adapter
  • SparkLan WCFM-100 Wifi-G adapter

Since these ran off the Zaurus which ran Linux, I should have the source code to see about writing packet drivers and control programs with. Guess I better set up an Open Watcom compiler...

STrRedWolf,

Since performance will be crucial for your SSH implementation on systems with slow 8086/186/286 CPUs, here's something you can try to speed things up:
I've come across a very nice, extremely simple implementation of the XOR shift register (Xoshiro) type of random number generators that produces random numbers "nearly as good" as CPU intensive LCG (Linear Congruential type) RNGs.

I've been writing an unbiased path tracer (a sort of GI ray tracer) in MS-DOS during the last few weeks for an upcoming video on my 200LX YouTube channel,
and since path tracing requires lots of random numbers (just like SSL encryption does in your SSH2DOS) and requires an RNG with good periodicity and high quality "randomness",
I initially used an LCG similar to linuxs' rand48() with good, but slow results, as there's more than a dozen multiplications and additions per number in the function.

After switching from the LCG to this XOR shift register RNG I've got nearly identical quality random numbers with a high periodicity and no observable patterns (int32_t only though, but that's enough as my renderer uses single precision floats throughout),
but my engine speed increased from 49 minutes to 31 minutes per frame! 😀, with identical quality results. I'm using the Borland C++ 3.2 IDE and compiler/linker for MS-DOS.

For security reasons you might want to leave the current RNG in there, and maybe add a command line option to use the RNG you already use, or, this one, so users on slow systems like PC/XTs get a nice speed boost...
It's really simple too, only 3 bit shifts and 3 XORs on an unsigned 32bit integer, here's the function:

// Fast Xor Shift 32bit precision RNG
static uint32_t _fXorState = 2171454626; // RANDOM SEED & STATE

inline uint32_t fXOrShift32(void)
{
fXorState ^= fXorState << 13;
fXorState ^= fXorState >> 17;
fXorState ^= fXorState << 5;
return fXorState;
}

The 80186 CPU (HP 200LX) does bit shifts 3x to 4x faster than a 8086/8088, as does the 80286,
so it's even better on those platforms...

Cheers,
Radiance

Check out my new HP 100/200LX Palmtop YouTube Channel! https://www.youtube.com/channel/UCCVChzZ62a-c4MdJWyRwdCQ

Reply 105 of 114, by jhhoward

User metadata
Rank Newbie
Rank
Newbie

Good to hear that there are few options when it comes to getting HP palmtops online. I haven't been able to find a suitable card yet but am on the lookout for one!

I had a look at potentially running an SSH client before but I believe the modern encryption may be too much for the slow processor? I would love to be proven wrong though, so please share if you make any progress. An alternative network setup I have used with my other palmtops is the RS232 Wifi Modem from theoldnet with a custom firmware flashed to provide a SLIP server. Since it is ESP / Arduino based it is easy to write a custom firmware for it - which makes me wonder if you could create a firmware with an SSH client for the modem and then just connect to it via a simple serial terminal.

If you have mTCP up and running, please take a look at MicroWeb, my web browser for 8088 machines. It's a bit basic but I even made an experimental HP 95LX build 😀
https://github.com/jhhoward/MicroWeb/releases

Reply 106 of 114, by radiance32

User metadata
Rank Member
Rank
Member
jhhoward wrote on 2022-06-03, 06:47:
Good to hear that there are few options when it comes to getting HP palmtops online. I haven't been able to find a suitable card […]
Show full quote

Good to hear that there are few options when it comes to getting HP palmtops online. I haven't been able to find a suitable card yet but am on the lookout for one!

I had a look at potentially running an SSH client before but I believe the modern encryption may be too much for the slow processor? I would love to be proven wrong though, so please share if you make any progress. An alternative network setup I have used with my other palmtops is the RS232 Wifi Modem from theoldnet with a custom firmware flashed to provide a SLIP server. Since it is ESP / Arduino based it is easy to write a custom firmware for it - which makes me wonder if you could create a firmware with an SSH client for the modem and then just connect to it via a simple serial terminal.

If you have mTCP up and running, please take a look at MicroWeb, my web browser for 8088 machines. It's a bit basic but I even made an experimental HP 95LX build 😀
https://github.com/jhhoward/MicroWeb/releases

On the lookout for a NIC card ?
I have a 2nd Netgear FA-411 10/100Mbits card I can sell you if you want a NIC for your 100 or 200LX.
PM me if you want it...

Radiance

Check out my new HP 100/200LX Palmtop YouTube Channel! https://www.youtube.com/channel/UCCVChzZ62a-c4MdJWyRwdCQ

Reply 107 of 114, by jhhoward

User metadata
Rank Newbie
Rank
Newbie
radiance32 wrote on 2022-06-03, 07:39:

I have a 2nd Netgear FA-411 10/100Mbits card I can sell you if you want a NIC for your 100 or 200LX.

I don't have permissions to send PMs on the forum but I've sent an email to the address you have listed on your Youtube channel.

Reply 108 of 114, by STrRedWolf

User metadata
Rank Newbie
Rank
Newbie
radiance32 wrote on 2022-06-03, 06:03:

Can you keep us (or at least me) updated on your progress with the mTCP conversion of SSH2DOS ?
I'm very keen on trying it out once it's working...

Sure! Right now I have the code here: https://github.com/STrRedWolf/SSH2DOS

So far I've only gotten to getting it up on GitHub. I've yet to get OpenWatcom set up, so it'll be a while.

Also, to be honest, I'd would love to make a "TCP/IP card" where the entire TCP/IP stack is on the PCMCIA card, and we use a simplified IO interface to get online. But that's for the future.

Reply 109 of 114, by radiance32

User metadata
Rank Member
Rank
Member
STrRedWolf wrote on 2022-06-03, 12:19:
Sure! Right now I have the code here: https://github.com/STrRedWolf/SSH2DOS […]
Show full quote
radiance32 wrote on 2022-06-03, 06:03:

Can you keep us (or at least me) updated on your progress with the mTCP conversion of SSH2DOS ?
I'm very keen on trying it out once it's working...

Sure! Right now I have the code here: https://github.com/STrRedWolf/SSH2DOS

So far I've only gotten to getting it up on GitHub. I've yet to get OpenWatcom set up, so it'll be a while.

Also, to be honest, I'd would love to make a "TCP/IP card" where the entire TCP/IP stack is on the PCMCIA card, and we use a simplified IO interface to get online. But that's for the future.

Thanks, I'll keep an eye on it 😀

BTW, I've heard from Michael Brutman (the mTCP developer) that Open Watcom 2.0 and higher are really bad, and you should stick to 1.8 or 1.9.
I've been using Borland C++ v3.2 myself, I'm not sure if there would be any difference in speed of compiled executables vs watcom, so maybe I should try Open Watcom 1.9 and do some comparisons against Borland's compiler...

Regarding having the TCP/IP stack on the card, the problem would be software, as there is'nt much DOS tcp/ip software available and applications like the mTCP suite won't work with your idea as they implement their own stack already...
I'd rather focus on writing drivers. What the 200LX really could use is a packet driver for one of the various 16-bit WIFI cards like the Cisco Aironet and ORINOCO cards... That would be a small job which will be very welcome in the community...

Cheers,
Terrence

Check out my new HP 100/200LX Palmtop YouTube Channel! https://www.youtube.com/channel/UCCVChzZ62a-c4MdJWyRwdCQ

Reply 111 of 114, by jhhoward

User metadata
Rank Newbie
Rank
Newbie

Anecdotally speaking, I've had some issues with the newer OpenWatcom forks so I stick to 1.9. The main advantage of using OpenWatcom over Borland is that you can cross compile from a modern OS to develop your DOS application.

Reply 112 of 114, by STrRedWolf

User metadata
Rank Newbie
Rank
Newbie

A bit of a late update here. I did poke in the current Linux kernel and I have to check how various PCMCIA Card/Socket services work in MSDOS. It may be for naught with the wireless cards, since they're rated for at least 300 mA operation and the 200LX only supplies up to 150 mA to the cards.

Reply 113 of 114, by STrRedWolf

User metadata
Rank Newbie
Rank
Newbie

So our yyzkevin has made a PCMCIA Wifi board out of Pi Pico W:

https://www.yyzkevin.com/pcmcia-pico-w-card/

It works on a IBM PC110 so I wonder about the HP 200LX...

Edit: It does, he mentions it: https://twitter.com/yyzkevin/status/1573079446885912576