Sonnet Labs, Sonnet One Unofficial Manual

Today a device I forgot I ordered arrived, the Sonnet Labs One, a mesh point that reports to connect two places over lower frequency radio to allow large mesh networks. It works by getting one of the units and connecting it to your local wifi. Then the other one, according to the box can be up to 1ish miles in a city, and up to 10 miles out in the middle of no where. When I got it I unpacked it, and all that was in the box was the device, a micro USB cable, and a charger. Where are the instructions? I check the other (you need at least 2, or hope your town has some other people who got them years ago on Kickstarter or Indiegogo (yes they did both) ) and that also didn’t have instructions.

Ah the top of the box says sonnetlabs.com/start, perfect! 404 page not found, with a few other links, which also 404. Looking on the Indiegogo and Kickstart pages most people are still waiting for theirs, so I guess I am too early for the website? The sonnetlabs website also shows an early mockup of the device and nothing what it looks like now. I started digging through comments, and looking at their GitHub. I have pieced together some aspects of the device and figured I would start a manual since so far non exists. And at this point, the project seems to have maybe 1 or 2 people working to try to fulfill it. I would be happy to chat with the devs.

Turning on the device:

  • The first flag contains a port for an antenna, the second has the micro USB charging port, and a micro SD card slot, the last has a USB host port to charge your devices.
  • Plug in the included charger into the middle micro USB port
  • Hold the Orange button for about 3 seconds and a green light should appear on the top of the unit

Connecting to the device, and to the internet:

  • When the unit is on, you should see a new Wifi network near by, Sonnet-XXXX connect to this with the password of “sonneteer”
    • Note: I had issues with my Mac doing this and had to manually enter the credentials
  • The web server that hosts the app takes a minute to start, if you try to go to it too fast it will fail to load
  • In a browser go to https://app.sonnetlabs.com, the IP is usually 192.168.47.1; but if you go to the IP the settings menu seemed total for me, it looks like they hard coded that URL in some locations
  • There will be an error about the certificate, this is because the device made it, accept to continue, you may have to hit “Details” or “Advanced”
  • You should see the login screen, click “Register New User”
    • This makes a user to send messages, and use the basic aspects of the device, fun fact all this data is stored locally in your browser, so the users generally don’t matter. This does secure your chat message data, because you need to use that exact browser and that exact device to ever see these messages again. If you change the address you are going to, or the browser, or anything you need to go re-register a user.
    • The Administrative password, set later, does actually store on the device and persist
  • Put in a name, username, and password
  • Once you see “Registration Successful” go back to the login screen and login
    • Note: Hitting the “Enter” key on the password field doesn’t trigger a login, you need to click “login” (at least in Firefox)
  • Now you are at the default page, “Contacts”, go to the “Settings Page”
  • At the bottom of the “Settings” page it will say “Set New Password” and “New password”, you have to put something in here to get Admin access to the device, that isn’t clear, but it is needed. This is saved to the device.
    • Note: This password is entered later in the UI and is just displayed on your screen, don’t make it something you don’t want people to see
  • Once you set a password there, you will get a real “Admin” page
  • Here you can click “Wifi” and start the process to connect to your own wifi network
  • This took a minute, then mine displayed a green check mark and I could connect to the internet, through my internet, even though I was bouncing through the device
  • Note at this time, I have gotten the two devices to use the “Chat” function, but not the mesh internet functions

Using Chat:

I was able to get chat to work between two of the devices, setting up one, then turning the other one seems to auto pair them. At this time I can not find any user interface on how to confirm/configure/see anything about the mesh. But Chat worked… so that’s something.

  • Login to the web interface
  • Go to “Contacts” on BOTH devices
  • Click the + in the top right
  • Select “From Network”
  • If both sessions are online, you should see the other user
  • Then if you can, you can click there name and this will send a request to add
  • On the second device, there should be a red dot on the + in the top right of “Contacts” screen, go to the +
  • Select “Requests” and approve the request
  • Then you can chat, I haven’t done much testing on how much caching of messages the devices do, but in my first test one device missed a message because the window timed out and was “offline” again
  • Note: If you see “Offline” as a bar at the top of the Window, your browser has disconnected from the device itself, clicking “Offline” should reconnect

I have not gotten QR codes to work, even with a very clear photo.

I took some screen shots of other screens. If you want more info, or have more info please leave a comment!

Additional Info:

I found a bunch of info poking around online, here are some notes:

Github for the app the device runs, but an OLD build: https://github.com/SonnetLabs/sonnet-webapp/

People talking about the device: https://community.gotennamesh.com/t/sonnet-devices-beta/4328/22

From what I can tell at the address above, a user states he was working with the devs and got SSH access to the device. I believe the image he had was a dev build with SSH installed, and the normal image we all have on the production units have this disabled.

The creators posted a early draft of a manual a while ago, copy below for archiving: https://www.dropbox.com/s/avmes7rhanx2vli/Sonnet%20User%20Manual%20v0.4.pdf

The FCC registered manual, very light: https://fccid.io/2AN8Z-SONNET/Users-Manual/user-manual-4003660

And the last laugh, there is a subdomain under sonnetlabs.com that the Digital Ocean server now belongs to someone else, so hilariously redirects. I give you lithium.sonnetlabs.com

Building a PDP-11 Kit (PiDP-11)

A few years ago I put together a kit from Oscar from http://obsolescence.wixsite.com/obsolescence. It started with soldering, went through setting up a Raspberry Pi image to emulate a PDP-8, and ended with a functioning simulated PDP-8 with working front panel! I was having some issues with one of the integrated circuits; but Oscar, being a great guy, sent me another one and I was able to prove to myself I wasn’t crazy and everything worked. Enjoying the project a lot, I was excited to see he has started production of a PDP-11 kit, this time with a nice plastic injection molded case, and compared to my rev 1 PiDP-8, nicer switches. So I had to order one.

I was able to get the kit working within a few hours of starting, I think part of this is Oscar has gotten better at making these kits; with having the board illustrate where parts go, and having a clean layout, it was fairly easy to put together and solder up. Also my poor soldering skills may have gotten a bit sharper.

While I was at it, I thought I would get my brother a kit so he could get into soldering, which he hasn’t done much of. In going through the instructions I found them a bit light for a novice. To remedy this, I took a bunch of photos during the process and will post them below. The official instructions have more details so I intend just to be additive to those with additional hints, details, and photos.

To start, 30 diodes must be soldered to the board, followed by a few resistors. The tan ones are the 1K ones and go in between some diodes on the bottom row, these spots are labeled “1K”. The 390 ohm resistors go in their labeled spot in the middle of the board. These are put through the board, soldered in, then their legs are cut. Polarity doesn’t matter for these.

Now the GPIO connector for the Raspberry Pi can be soldered in THE BACK of the board, making sure its flat. Followed by the chip socket that goes on the front, in the middle-ish near the rotary encoders. Don’t solder this in with the integrated circuit in it. Note my board is a newer one with some expansion options that Oscars site doesn’t show, make sure to use the correct chip socket location.

Later photo with chip socket and chip installed

This step is the longest and a bit tedious, you need to get 64 LEDs, each with a little riser, and stick it into the board with the correct polarity. That is long leg matching the icon to on the board, for me it was to the left.

Soldered LEDs with board indicator

Now there is a piece of board that comes with the kit, that can sit over all the LEDs to line them up, and once they are all in straight and aligned, they can be soldered in. I would recommend not snipping the legs off until you have tested and are sure they all work. The last soldering steps are to solder the rotary encoders in. After that put the integrated circuit in the socket, and test it out!

Oscar has a bunch on how to test the board so I will leave that to him. One note I will add, my Raspberry Pi had to be a good amount in the socket before it would work well, but this led to the RJ45 port hitting some of the LED contacts and shorting a row. I found getting the anti-static bag the Pi came in, and placing it between the top side of the Pi and the board solved all these problems.

Jumping ahead, I want to mention putting the switches in since this is the one other part of the kit that is a bit confusing and may give people issues. Using the switch lining up tool, that is included with the kit, I found the easiest way to hold everything in place and solder was suggested by Neil over at the PiDP-11 Google group, https://groups.google.com/forum/#!topic/pidp-11/E-RMRVQ15NQ%5B1-25%5D

Neil’s way to hold switches in place

Using this technique, I was able to solder the switches in easily and without difficulty. Follow what the tool says and you should be good. Make sure you are in a well lit room, since in the dark the red and purple can be a bit hard to distinguish.

Using this technique, I was able to solder the switches in easily and without difficulty. Follow what the tool says and you should be good. Make sure you are in a well lit room, since in the dark the red and purple can be a bit hard to distinguish.

Finishing up, consists of more testing with the Pi installed; then going and screwing it all into the case. Be careful, these don’t need to be screwed in very tightly and you can fairly easily crack the acrylic (this I have learned from other projects in the past).

This was a fun kit, and I hope Oscar keeps making more of them. If you have any issues head on over to the PiDP-11 Google Group, and if my guide helped out out, please let me know in a comment below. 🙂

Building a Classic Mac Inspired PC Case

Over the last few months I decided my aging 2012 i5 wasn’t enough to play the latest games. The biggest deciding factor was in I playing Battlefield 1, all 4 cores it had went to 100% and stayed there until the game was over. Not being a stranger to building PCs I quickly put together a a build I wanted involving a AMD Ryzen 2600X, kept my NVIDIA GTX 970, and got the other RAM (16GB for now) and SSD (Samsung 970 Evo 512GB) pieces I needed. Then I had the idea that this time I should not just buy a PC case, but do something interesting. My first thought was to get a Classic Mac that was broken and then put my PC inside that case. I got a classic Mac, and then quickly was able to get it working again…

mac_classic

At this point I had also done some math, and my 11″ long GTX 970 would not fit anyway into that case. And at this point the decision to make an Mac-Inspired case was made. I designed a case, a bit larger than the original by an inch or so in Illustrator, then went and laser cut it. I ended up giving myself another inch, so that I could get a Mini-ATX motherboard over a Mini-ITX one. This gave me 4 DIMMs for ram over 2, and an extra PCI slot for the future. Note: some of the final designs on Github don’t perfectly line up, or have holes that are not positioned right; mostly this is only for the lid, but since it is held in by gravity I did not do extensive work to fix the issue.

To go back to the start, I liked the little screen on the front of the original Macs, my thought was if I had a tiny PC like a Raspberry Pi running the screen, I could have it show information about the computer. And then via a relay turn the main PC on and off. I also figured this PC could be used to play music/videos, and have a KVM that would switch over to the main computer, then back again. That idea was going until I got everything in the case and realized it was very tight. At this point I also just wanted the machine to work so I could play games, so the second computer and KVM idea was scrapped.

The front screen is a touch screen, as well as a secondary screen to the main monitor. At 1080P I can put Spotify on it and have touch screen controls, or play movies. I tend to leave a GPU and Task manager on it while playing games to see how much I am using the system. I have had these Eyoyo brand screens at work before, they are cute, fairly inexpensive (~$90) little screens that offer a lot of inputs (HDMI, VGA, Composite, BNC); their main draw back is the LED on the front is brighter than the Sun.

General Construction:

The main method of construction for the case is “Interlocking T Bolts”, as described in https://www.instructables.com/id/How-to-Make-Anything-Using-Acrylic-and-Machine-Sc/ . This allows 90 degree acrylic pieces to snap together and hold together tightly. The primary design has the two sides doing the main support and sitting on the table, with a few layers internally. This has the added benefit of not having the motherboard sit on the ground. I left a good amount of room over the motherboard for airflow, then have 2 fans out the back, and 2 out the top. The main air comes in the front, and then goes over the GPU and motherboard to go out the back and top. The motherboard I got only had 1 fan plug on it, so I used a fan multiplier.

20180718_183746638_iOS
Empty early case

The bottom has an area for the motherboard to go in via a tray. The second layer of the case has a screen mount in front, then the PSU sits flush with the back. A hole brings the power cables down to the motherboard from the second level. On the third layer, the graphics card exhaust, and ports go to the front screen and the two back hookups, and I put the fan distributor. I needed to be careful with wire management at this point since there are a lot of cables up top, and the fans up top as well.

The hardest part was getting the graphics card to stay. Its held in place by a bracket, and then I used a piece that I am usually opposed to, a PCI Express Extension cable. So far, after a few months of use, it has worked perfectly.

The side walls hold the whole case together, I found putting a lot of the middle pieces into one wall, securing them, then laying that wall on its side lets you easily add the other wall to the top. Note, I do this without any components in, once they are in taking the case apart is much more difficult. The front grill has to go in when the middle pieces do, since it is also secured on both sides and can’t slide in and out. The top, back, and front pop on after the middle pieces are secured. Its a good idea to keep the side screws loose till the front and back are in since sometimes you need a little wiggle room. These last pieces don’t need to go in till the last second though, since they give access to the motherboard, and screen.

The power button ended up being an arcade button I had laying around from another project. I did put a USB 3.0 port out the front, where the original Mac had a keyboard port.

Materials:

Most of the things in this list are self explanatory. RAM with LEDs is silly, but then it was a few dollars more and looked cool so I got that, I obviously had to get it. The air conditioner foam I put on the inside of the front grill where most of the air comes in to filter the air for dust. I found nice 80mm fan grills online, they work so I have something to screw the fan into, as well as keeping dust/fingers out of the fans. I got HDMI and DisplayPort extender cables to go from the graphics card to ports in the back of the case.

20180731_174607167_iOS
Front of case with PSU in back

The motherboard stand offs are a must. The motherboard tray has larger holes than the standoffs by a good amount. To hold the standoffs into the motherboard tray, I screwed the standoffs on the motherboard, then put the ends of them onto the tray while the motherboard was upside down. Doing this, I was able to put super glue in the holes of the tray and stand offs to hold it in place. This isn’t the best, but I was having issues of getting exact Mini ATX dimensions and this worked for me. Just make sure to not get super glue on the motherboard. Then the motherboard can be removed and the tray screwed into place of the main case.

Before getting all the PC components into place, I got the front screen bracket installed, then installed the screen itself, running all the wires where they would be easy to get to, and also out of the way. I got the motherboard in the bottom of the case, followed by wiring the PSU. As mentioned before, now the hardest part was getting the long graphics card in, it sits with the normally external PCI plate at the top of the case, and is slotted in from the top. I got the card straight down the hole, then used bolts and washers to secure it up top, with the help of a laser cut bracket. Once the PCI-express extension ribbon, which aren’t may favorite but needed to make everything fit, was in place, I tested powering it up. Once everything was working it came down to installing the solid state drive, and mounting it where I wanted it, and wiring up all the assorted fans.

For software, I am running Windows 10 Pro with UEFI. Also because its 2019 I decided to get a TPM chip for this motherboard, and use Bitlocker for whole disk encryption. There is not a real performance hit these days so why not.

In the end it was a fun project, but took slightly longer than I had hoped. The things I was originally worried about, airflow and the PCI ribbon, have turned out not to give me any issues. I tend to not use the screen in the front too much, and the system is not too portable since the 1/4 inch acrylic is a bit heavy, but it looks neat next to my desk, and in the end, wasn’t that the point?

A small shout out to a new store in NYC, I am a member of Fat Cat Fab Lab (http://fatcatfablab.org/), and they have a new store near by for Acrylic. MakerKraft, a division of BeadKraft, offers free shipping to the lab at prices that are very reasonable. I also had issues with my order and they called me, offered options, and a discount, very nice people doing great work. If you are in or around NYC and need acrylic, https://www.makerkraft.com/ is cheaper than the Canal Street places at this time. Note: I am not paid by them, just had a really good experience.

Ryzen 2600Xhttps://www.amazon.com/gp/product/B07B428V2L/
GIGABYTE GA-AB350M-DS3Hhttps://www.amazon.com/gp/product/B079NH98GS/
Corsair Vengeance RGB PRO 16GBhttps://www.amazon.com/gp/product/B07D1XJWSJ/
Samsung 970 EVO SSD
Air Conditioner Foamhttps://www.amazon.com/gp/product/B000BO68BU/
80mm fan grillshttps://www.amazon.com/gp/product/B0040JHMHQ/
80mm fanshttps://www.amazon.com/gp/product/B002QVFN7G/
EZDIY-FAB New PCI Express PCIe3.0 16x Flexible Cable Card Extension Port Adapter High Speed Riser Cardhttps://www.amazon.com/gp/product/B01NH0GW7Z/
228pcs Personal Computer Screws & Standoffs Set Assortment Kit for Mother Boardhttps://www.amazon.com/gp/product/B01I4SOVDG/
4-40 Screwshttps://www.amazon.com/gp/product/B07B7K9NKC/
4-40 Nutshttps://www.amazon.com/gp/product/B001B2QP3C/
1″ 4-40 Screwshttps://www.amazon.com/gp/product/B07B7K63CF/
HDMI Extenderhttps://www.amazon.com/gp/product/B00VUFQH4C/
DisplayPort Extenderhttps://www.amazon.com/gp/product/B07CYY2J41/
USB3 Motherboard headerhttps://www.amazon.com/gp/product/B010NBLRHK/

FusionIO ioMemory VSL4 on CentOS/Rhel 7.5

With CentOS 7.5, ioMemory VSL 4.3.3 kernel module would no longer load; I could not get it to recompile from source either. I tried a bunch of things including moving my CentOS 7.5 box to the EL7 4.17 kernel to see if that helped me compile from source, no luck. Then I found a forum post, https://forums.servethehome.com/index.php?threads/centos-7-fusionio-users-do-not-upgrade-to-kernel-3-10-0-862-2-3-el7-yet.19760/ where they speak of patching VSL 3.2.15. Using this and some playing around I got VSL 4.2.1 to work with my system. This method may work for some later versions, yet 4.3.3 had some other code changes that were causing it not to compile, so I used 4.2.1. Below are the steps to get a working ioMemory VSl 4.2.1 for Centos 7.5; comments if it worked or didnt are welcome.
Note: I did all these steps as my user, and not as root. My card is a FusionIO ioMemory SX350
  1. Before we begin, I am assuming you have GCC, kernel-devel, if you do not; go to https://wiki.centos.org/HowTos/I_need_the_Kernel_Source to get kernel and the rpm build parts.
  2. Go to link.sandisk.com, register, and login
  3. Browse to the software download page, https://link-app.sandisk.com/Home/SoftwareDownload
  4. Download the “iomemory-vsl4-4.2.1.1137-1.0.src.rpm” source package
  5. In a terminal, change to the directory you downloaded it to
  6. Extract the contents of the RPM to disk
    1. rpm2cpio iomemory-vsl4-4.2.1.1137-1.0.src.rpm

  7. That gives us some metadata and a tar, extract the contents of the tar.gz file
    1. tar xvzf iomemory-vsl4-4.2.1.1137.tar.gz

  8. Change directory to the kernel modules folder
    1. cd iomemory-vsl4-4.2.1.1137/root/usr/src/iomemory-vsl4-4.2.1/

  9. Using your favorite file editor, edit kblock.c
    1. vim kblock.c

  10. Edit line 2592
    1. Before
      1. elevator_exit(q->elevator);

    2. After
      1. elevator_exit(q, q->elevator);

  11. Save the file, and quit the text editor
  12. Compile the kernel module
    1. make modules

  13. If that completes without errors, then install
    1. sudo make modules_install

  14. Let’s add the module to the running kernel
    1. sudo modprobe iomemory_vsl4

    2. If you have issues, you may need to do “sudo modprobe -r iomemory_vsl4” to force a reload of the module if one was already present
  15. You should now have the fio in /dev/, or after installing the utils from the Sandisk site, see the card under “fio-status”

Building a PDP-8 Kit

A bit ago I picked up a PDP-8 replica kit, the PiDP-8. A kit can be picked up here http://obsolescence.wixsite.com/obsolescence/pidp-8-get-one . They are under $200, and I always found older computers interesting so I thought I would give it a shot. I also find The Digital Equipment Corporation and interesting tale of a far gone computing era. (There were t-shirts with the DEC logo on Amazon, but they are gone now)

IMG_4855.JPG

The kit itself is a little smaller than the original control panel; photo from the creators blog above. This is not a real PDP-8, it is a front panel with a Raspberry Pi on the back of it. The Raspberry Pi has an image that is on the user forums (which are incredibly helpful as well as a nice community) which boots very quickly and dives right into the modified emulator. The design is wonderful and just uses the pinout on the Pi.

I got the kit, then ended up moving across the country and did not setup the kit for several months. When I got to building the kit (2015 version, pictured above) it was 2016 and instructions were up for both version. Not many differences except the switches, and how they are mounted. My version needed me to remove pins from each switch then mount each on a rod to keep them aligned. The 2016 version also has more authentic looking switches. I got the switch rod put together with no difficulties.

Then it was down to soldering the trillions, well it felt that way, LEDS to the PCB that came on the kit. Small soldering is not my favorite thing, so this took a bit; but in the end it was done and I was happy with it.

I wanted to test my soldering skills, or lack there of. I plugged the Pi in, and started the image. A few of the lights dimly came up, the rest of them just were dead. Darn this means somewhere it’s broken. I did some traces with a multi-meter, and couldn’t find the fault. Then I realized while it was plugged in the one integrated circuit that handles the LEDs were was getting very hot. I emailed Oscar who made the project and he quickly responded and said it sounded like the integrated circuit was dead and he would mail one the next day or so.

He was extremely helpful and kind, and I got the new chip a few days later. I had to go to Radioshack, (I was surprised I could find one! And its no longer there a few months later) to get a desoldering wick. I haven’t used this before, but it helped me remove the old chip. I soldered the new chip in, and powered it up. Instantly it all came online! I wanted to check all the LEDs, to verify if the OS was keeping some off, or if the circuit was bad, I got a diagnostic program that was written for this system. It did indeed show there was a error, and after resolding a small point then everything was working!

Now that the system works, and I sized it in the box; it was time to paint the switches! I covered half of them with painters tape and painted some brown. Then later did another coat. Then did the white ones so they were not off white or having the red dots on them.

After it dried, I cut a hole in the side of the case so that I could access the USB ports of the Pi. I just had a tiny hobby hack saw and a drill, these were not the best tools to cut the hole but it worked out. I also put electrical tape over the edges of the hole to cover up my handiwork. Then I mounted the PCB with wooden blocks for support into the box. I got some velcro with tape on the back so attach the front panel; that way I can remove it whenever I want for service and easily reattach it.

I got a power switch that is inline with a USB cable. That way I can have a switch to power on and off the device. Then I thought the blinky lights were neat, so I mounted it on my wall for now. It boots directly into OS/8 and in idling does a little light show.

20160525_150912714_ios

The project came out well, and I am excited for Oscar to release his PDP-11 clone he has been working on in the background. I haven’t spent that much time programming it, but it is nice to have a piece of computer history above my desk. A big part of this project has been the awesome community over at the forum https://groups.google.com/forum/#!forum/pidp-8 and the kindness of the project owner and his willingness to help. Oscar’s blog has some cool stuff as well, http://obsolescenceguaranteed.blogspot.com/ .

 

Next I want to do an Altair 8080 kit, while I wait for the PDP11 version! https://www.altairduino.com

Using Kermit to Serial Transfer Files

I recently restored my Compaq Portable II. If you haven’t read Open (Link) about the forming of Compaq I would suggest it, I highly enjoyed it. In doing so I thought I would transfer some files to the 286 via serial, instead of taking the Compact Flash card it ran on out of the adapter, and then copying new software.

I started my journey thinking I would use the old Microsoft Interlnk software that came with MS-DOS 6.22, and then perhaps a virtual machine on laptop to serve the files. The laptop I had on hand was a Macbook Pro, I thought I could do a MS-DOS vm, then hook the USB serial adapter up to the vm allowing MS-DOS to see it as COM1. This turned into a giant headache, VMware and Virtualbox (I tried both) kept giving me errors. They really didn’t like the USB serial adapter (who does), after a few hours of playing with it I made a silly decision of: the easier way would be write a new InterLnk server in Java and let my modern OS talk to DOS directly.

I spent some time configure two Vmware Fusion vms’ to have virtual serial lines go to named pipes. Then I had socat interconnect the two pipes and log the traffic, (I put the command below if anyone is interested). On one hand, I found it interesting researching debugging serial communications using virtual machines. On the other hand, after more time than I care to admit, I didn’t see a clear pattern to the serial data, along with was getting the data going between the systems but not in a super clear format, Wireshark has spoiled me. I finally decided it was time to try another plan. A quick detour to try to decompile the app made me more confused than ever, and we were back searching for a new method of connection.

socat -v -x GOPEN:/Users/Dan/DOS/pipe GOPEN:/Users/Dan/DOS/pipe2

After researching different methods of serial file transfer, such as xmodem, ymodem, and Kermit; I thought I would give Kermit a try. I have used xmodem for dead Cisco devices, and thought Kermit would be easiest to server from my Mac. It allows things like packets in the protocol, which makes it be able to speed up and slow down transfers as the transfer goes on.

To configure the server on the laptop I used Homebrew, installing with:

brew install c-kermit

Then I loaded the app via the Compact Flash card for the Portable. I got Kermit for DOS off of http://www.bttr-software.de/freesoft/comm1.htm . Version 4 for DOS works mostly the same as version 9 from Homebrew. The app lets you change directory to a folder you want to operate out of, set your connection settings, which I have below. Then you hit the command “receive” or just “r” on one side to receive. The other side then pushes whichever file you want.

Client

set port com1           # Or COM2 or whatever the port is

set carrier-watch off   # Assume there is no carrier signal

set speed 57600         # Or whatever the speed has to be

connect

Server

set port /dev/tty.usbserial

set carrier-watch off   # Assume there is no carrier signal

set speed 57600          # Or whatever the speed has to be

connect

I selected 57600 because I was not sure if the Compaq could handle the next jump to 115200. This page has a lot of info about setting up the program, there are a lot of dials and knobs that can be moved. http://www.columbia.edu/kermit/k95faq.html

You can bring up a serial connection between the two and just type messages, but in the end I remembered how slow serial links were. I ended up powering off the system, pulling the Compact Flash card and then loading most files that way. Sort of felt like cheating, but when transferring the Windows 3.0 install files were going to be a 15 minute plus affair, I want to the good ol’ USB 3.0 Compact Flash Reader.

Restoring a 1987 Compaq Portable II

Someone years ago gave me a Compaq Portable II. I always have loved this machine. Coming from the days of “luggable” computers, it weights over 20 lbs, and has a tiny CRT. The model I have has a “Type 2” (20MB) hard drive, and 640KB of RAM. For a little bit I thought my parents had accidentally thrown it away, as I was storing it at their house. Then it was found again and much rejoicing was had. The system is a Intel 286, with no math co processor.

compaqii-2

Recently the one I have has come down with a few problems, so after seeing a brave young soul take their apart (https://www.youtube.com/watch?v=DqaWCobAbQ4) I decided I should give it a go. First the battery on the motherboard started to fail, not only resetting the clock when it lost power, but also forgetting the type of hard drive it had. This made it so every time the system was used, you would boot a 5 1/4″ floppy of MS-DOS, then change floppies to the Compaq Diagnostic disk, and configure the BIOS, and finally go back to the MS-DOS disk. I was lucky that some places still have the disc images online; http://yesterbits.com/2012/09/23/booting-the-compaq-portable-ii/ . I attached those disks to the bottom of this page just so there is another mirror online for others.

I knew that the BIOS battery needed replacement, but when I recently turned the system on the old hard drive had finally given up. At about 30 years old I can not blame it. A fun fact about the drive in this system, it is actually a MiniScribe MFM hard drive (more info here http://www.seasip.info/VintagePC/compaq2.html) that has a MFM->IDE conversion board on it. The drive is also shock mounted, this computer is portable after all! Knowing that, I decided it was time to swap that dead drive for a Compact Flash -> IDE adapter. This would be a size and speed improvement over this old hdd. Luckily someone else had already attempted this! http://tkc8800.com/post/compaq-portable-ii-restoration

Armed with all that info (and the manual – http://www.minuszerodegrees.net/manuals/Compaq%20Portable%20II%20-%20Maintenance%20and%20Service%20Guide.pdf) I took the system apart, and very carefully avoided the high voltage CRT area. After getting the top cover off, then the front bezel; I needed to remove was the floppy and hdd caddy. I removed the cover of the caddy as well as the rear card cover. Then I could get access to the ISA cards. This system has the standard IDE control board, the video board, then a blank, and finally a board called EVEREX with a crazy connector. I have no idea what that last board ever went to. Some quick googling says it may be a tape controller card, or an special external monitor. My plan was to use the third slot to put the Compact Flash adapter, that way I can access it externally. (Here is it being tested)

img_7987

I got a 8gb card off Amazon because it was fairly inexpensive and that would be so much more than plenty. After looking through all the options the system gave me, I settled on a “Type 41” hard drive even though the system auto detected it as a “Type 14” This gave me around 250MB of storage, for my uses that was plenty.

Now to replace the BIOS battery. The manual covered this. The battery is under the cover, where the extra RAM would be, IF I HAD IT. I took the bottom off, cut the zip tie that held the battery, and replaced it with one off Amazon. That first battery lasted about 25 years before it finally stopped remembering, I think that is a good battery.

One thing that stood out was the battery. I got a battery from the same company as the original, photo above; the battery on the left is the new one, the one on the right is the 30 year old battery. These batteries are 30 years apart, yet they look almost identical. I think that’s hilarious and interesting.

It came time to close up the case, mostly replacing metal covers around the system then placing the cover over it all. I ran into a little problem replacing the ISA card cover, there are little feet that hold the cards in place, but my IDE cable and power cable were in the way. I had to push the cables closer to the ends of the cards to make the cover fit. Then I used plastic twist ties to hold the power cable in place.

Right before sealing it up again, I cleaned the cases because it was already off. Below are some photos of the final system. The next thing I would need to do is replace the keyboard cable, the plastic is chipping off. I did a quick glance at how hard that repair would be, the issue is the cable goes into the monitor compartment (high voltage capacitors are scary) and I will need to solder a new cable to the keyboard/cable which is more than I was looking to do in this first repair session. I also one day should get a ISA RAM expansion card. A giant benefit to having the Compact Flash card slot on the side, is if I want to load more software I can just take the card out and plug it into a modern PC. I also can create a VM and use that card as the hard drive, making for easy dsk file image installation. This is close to infinite times faster than serial connections to transfer files.

This system has a Intel 286 with 640KB of RAM. To run Windows 3.1, you need extended memory; which I currently do not have. If I had a 386, then I could create a page file, and use disk space as memory, but a 286 does not have this ability. To have some version of Windows I installed Windows 3.00a off of https://winworldpc.com/product/windows-3/30, they have a great collection of Windows versions, with different languages and builds. I have a ton of old Windows versions in packaging, but this was simply easier. I also got a MS-DOS 6.22 bootable installation image off of https://www.kirsle.net/blog/entry/ms-dos-and-windows-3-1 and installed that as my base.

All in all, this PC got some much needed attention and is now back to its old self. The Compaq Portable II is back to its old brilliance with Windows 3.0 on its 250MB SDD (technically it is a SSD), 5 1/4″ drive, and tons of games, as it should be.

Random bonus: I enjoy the Compaq Setup Disk load screen, it has a animation with the logo that uses the slow refresh time for an interesting effect. Below is a Imgur upload of it.

Files: