I've built something like that from a bunch of used hardware in my teens. DSL connections were just available (in Germany) and came with a data flat rate. I was in the lucky position that I could convince my parents to get such a contract.
A friend of mine, who could not get a DSL connections because back then he lived in an uncovered area, could at least get a telephone "flat rate" for free telephone calls on Sundays.
So, he dialed in my Pentium 133 server and used my DSL connection behind a NAT every Sunday.
This brought back some good memories. My dad had to work in a remote area for a while and rented an apartment. No DSL/broadband either. We had DSL/broadband back at "home" and I setup a dialup server (running on Windows 2000) built out of spare parts. I forget the details but remember it worked fine, up to around 33.6 kbps. Of course, it tied up two phone lines when in use.
I operated something like this around 2005 in a big hotel building (~400 bedrooms and various offices) with a dinky internet connection and no wifi yet (very thick walls, up in the mountains, limited budgets...).
So I built a dial-up pool on an internal number (this place had its own PBX with ~500 phone lines) hooked to a Debian box, served by a bunch of USR Courier modems. Good times :)
Really off-topic, but this is why I actually miss seeing the upvote score on comments -- without knowing the score, we don't know how popular this opinion is (personally I would love to see a write up on this as well); and since there's no way to see the popularity, we get this chain of people seconding/thirding the statement.
This article came at just the right time.
Maybe the HN crow can help me with this one.
I have a lot of old hardware that i want to connect to the to my network. Most of them have a 56k modem the rest a 14/28k modem. What can i use to bring them all online at the same time. I tough to use some voip adapter (from pots to ethernet) but from what i understand there are not good for modem/fax style signal, also i need something that can handle at least 8 client at the same time (the number of computer to connect is 22 at the time but i don't know how realistic is to connect all of them at the same time using this method).
When i searched (i couple of month ago, so i might get wrong some terminology) i only found some enterprise pbx that were awfully expensive (1000$) i hope for something more cheap. I didn't find anything that work.
EDIT: Also i'm not sure how to understand if the hardware that i plan to use can do what i need. What do i need to look in a pots to voip converter to work as modem "server".
If i sound confused is because i am.
I have a plan B, that consist of using serial port and emulate old style Hayes modem by a central more powerful (and modern) computer using a lot of usb2serial adapter, but i would rather avoid that since some computer have only 1 serial port and is already used for other hardware forcing me to choose between connectivity and the other device. Also some of the hardware it's not compatible with serial modem.
I've already test this approach and (expect the aforementioned shortcoming) it works quite well.
You need a terminal server: it has multiple serial ports on one side, ethernet on the other. You will need serial cables going from client devices to the terminal server. The serial cables should be the "null modem" variety, so no actual modem is needed. Hopefully you have spare serial ports, or can replace the modems on the clients with serial cards.
Take a look on ebay for "terminal server", "console server", etc.
2) The ethernet port can communicate with all serial ports. Depending on the model, you can program the serial port for PPP, SLIP, telnet, SSH, etc. Back in the old dialup ISP days, we connected modems to these terminal servers and users could either telnet to a host, or initiate a PPP session.
And yes, you can basically build your own terminal server with a bunch of those USB<->RS232 adapters.
also important that you can configure these terminal servers to have different TCP ports corresponding with each serial port. this would enable you to set up a router for the console server and NAT so that each device can have its own IP
What are you trying to accomplish by using or emulating modems vs just a serial line?
Your best bet would probably be getting a terminal server style multiport serial card and just do PPP over serial from the client devices. The modem is an extra layer you typically don't need at all for local connections. You can get relatively inexpensive 16+ port cards and I'd expect them to be far more reliable and manageable than a wad of usb dongles.
When i started testing this, i used a "master" computer as serial "router" with 6 serial port, so that the "slave" computer could talk to each other.
I quickly found that i need some sort of management protocol to specify which computer could talk to.
I decided to emulate Hayes since it's a simple protocol very well documented and supported.
Also some software expect to talk to a modem and don't play well with raw serial.
I searched for multi serial port card, but i had trouble finding one. Maybe i'm using the wrong keyword but i only found pci/pcie card with up to 4 serial port.
Usb seem to work decently but i admit that sometime the os (linux) seem to become confused and some serial port change name, causing some trouble. Having one card (or two) will make everything easier. I'm also considering "console server" as others have suggested.
Ok, it sounds like what you were trying to do wasn't routing, but circuit-switching the rs232 lines.
As an alternative, PPP gives you a routed TCP/IP connection over a serial line...you offload routing onto the network layer and you can potentially have _all_ your client machines communicate with each other or even externally via standard TCP networking, and don't deal with circuit-switching the serial connections at all. For things that are TCP capable this is probably the cleanest solution.
If you want to support software that requires direct serial/modem links and not TCP, you will need something else in the mix. On the software side, I'd check the software to make sure you can't just turn off the AT commands altogether and use raw serial. Even where it wasn't a supported/intended setup, most software that explicitly handled modems allowed specifying alternate AT command strings, so you _might_ be able to just blank them out and go straight to serial. As far as circuit-switching...I know I've seen hardware devices that did this, but not in decades, so likely not easy to find any more. A quick google only turned up a bunch of datasheets for chips that could do it, but seems like you'd have to build your own device or track down a vintage device.
Yes, it was actuality circuit switching, every serial port has it's number assigned and each computer could "dial-up" each other, but there is also a "virtual" number that anyone could dial up to (even at the same time) that will connect to a PPP session to connect via IP/TCP to the outside word. This last part was the one that still need a bit of work since it doesn't always work as i expect.
So i, basically, do both. packet and circuit network according to need.
As far as circuit-switching...I know I've seen hardware devices that did this, but not in decades, so likely not easy to find any more
software based circuit switching seem to work fine for what i need, is really not that complicated, it also make me do cool thing like wiresharking!
Like others said, if you can do rs-232 instead of modems, use a multiport serial card on your terminal server. With your host count, you should look into cable length and ground loop issues.
For those systems without a serial port, for whatever reason, you can find a matching modem. If you get external serial modems, you'll be able to hook it to your multiport card, but USB modems will work too (as long as they're hardware modems). You might need to apply a DC voltage to your line to convince the modems it's working, but you probably don't need a dialtone, most modems will be fine with blind dialing. Caveat: you won't be able to get 56k without a lot of work.
If you really want, you should be able to make a back to back ATA adapters work, make sure your network isn't congested, and use PCM codec and it should work ok, but probably not great.
I currently tested the system with 6 serial client plus the server. it seem to work quite well but the cable were rather short. Is rs232 more prone to ground loop than ethernet?
i looked into using serial modem, but it seemed quite complicated, and very fragile. I didn't find a lot of guide to connecting directly two modem. I tried doing some experiment with a couple of modem i had laying around but without success. Pots and modem aren't really something a know a lot of, (that's the reason of the plan B, a lot simpler and something i understand)
I also look into ATA to modem and i will probably use that for the device i cannot connect via serial, but it seem that a lot of them don't support the pcm codec (or at least i didn't found info about it), i never used one so my knowledge about them is limited, but the article should help me. also they will stay in a dedicated network so congestion shouldn't be a problem.
rs232 is simple singalling with high and low voltages and a ground pin. Ethernet is differential signalling with no ground. That makes ethernet less susceptible to ground loop issues, and interference issues from long distances. I think it's just something to be aware of, and you likely won't have to do much to adress. But don't plan for running an rs232 to your neighbor's house without isolation.
Many modems (notably Dreamcast modems) require line voltage to work. A normal POTS line provides a good amount of DC voltage when the line is off hook for various reasons, and a modem may use that for powering parts of itself or as a check to confirm it's properly connected. Something like this could help supply that voltage for picky modems http://dreamcast.onlineconsoles.com/phpBB2/guides_pcdcwin98....
Many modems will also default to waiting for a dial tone before dialing, but that should be configurable via the dialstring.
As with all things Telco, the terminology is strange. You're looking for the g.711 codec. It's basically what was used for T1s, so it's just right to fit a modem, because actually most ISPs were receiving calls via T1 --- that's how 56k works.
Back when we used dial-up I couldn't outright switch to Linux because I couldn't get on AOL from Linux (or I didn't know how) I tried everything too. Then once we had a normal router it was wireless drivers that was my issue, nowadays it's mostly my GPU drivers. I have used Linux more exclusively now, but if I can't get online out of the box that's the biggest deal breaker for a distro for me.
I remember the fun of trying to get PPP working in Linux the first time.
Dial in. Search for instructions. Print them out. Reboot into Linux. Try it. Doesn’t work. Write down error. Reboot into Windows. Dial up again. Search for error. Repeat until you hate yourself.
Wait, you need a new package. Go back to Windows and download it. Stick it somewhere Linux can see it. Reboot into Linux. Install the package. Find out it has missing dependencies. Go back to step one.
Got all the dependencies. Start at the top again.
I don’t remember if I ever got PPP working before I had Ethernet based net access and no longer needed dial up.
I remember those days...I lived in a small town that didn't have a local ISP for a long time, so stayed on AOL for dialup
because of their local dialup number. I'd used the AOL client from another machine and then set up NAT behind AOL's TCP tunneling to get access from Linux and Solaris machines.
But what's it like surfing the web on 56k6 nowadays? It was painful 15 years ago, doesn't seem like it would be feasible today. ('feasible' as in 'would actually use this for something', not as in 'technically works')
Chrome DevTools has a feature that will let you try it out. I am right now. On the Network tab there is a throttling option. I added a profile for 56k, and based on some research set it to 6kb/s upload and download as well as 100ms ping. It is painful. Loading this thread's comments page took about 23 seconds, though loading the form I am submitting this comment on only took about 4 seconds.
I think it could be workable if you were to set uBlock to block all images and scripts.
It’s not feasible without a proxy or special browser. When I run out of data on my phone plan, it’s throttled to 100kbps. Many sites load fine, notable HN and google search. But the average news site or company website will fail to load.
This came up every few months when I was at Twilio (2012-2014) - primarily regarding supporting faxes. From what I remember from the folks who knew SIP really well, the issue was mainly that there's too much variability in terms of latency and the modulation/demodulation of the analog signals that modems use.
100% of the companies that I installed LG IPECS systems into back in the day also became e-fax customers.
By the time you've got a dedicated channel for the fax machine (missing an inbound PO delivered via fax because the sales team is hitting the phones hard doesn't fly anywhere) and are paying an additional monthly fee for another DID the cost is usually a wash anyways.
It's money exceptionally well spent to not have to worry about G.729 jitter and the nightmare that is analog>digital>analog>digital and back.
Ah the dial-up ISP days. As an young enterprising middle schooler 20+ years ago I started one with the help of my father. I remember stringing together a bunch of modems to a Postmaster and getting a rollover PRI line from the local telco. If my memory serves me it had 24 lines and would roll over if one was busy. We even made some of our own installation floppy disks and placed them at the local video rental store so people could self install. Fun times!
Back when we used dial-up for Internet access, and it was charged by time, we used P2P dial-up connectivity to share downloaded stuff - one person would set up a dial-up server (Windows had that capability even in 9x days; still does, I think), the other one would dial in, and then we'd use IRC and FTP on the resulting intranet, chatting while the data was transferred.
You might be able to, but you won't be happy with the results -- cell phones use low bandwidth compression codecs, around 12kbs if I remember correctly, but for use as a modem, you'd be lucky to get half that or less.
Browsing the modern internet at 6kbs sounds painful.
Granted this was getting close to 20 years ago. I had a Motorola Timeport, for which I bought the PC connection kit. The PC connection kit just gave you a serial port. I was able to connect it to my PC and use the phone as a modem to dial my ISP. It just used my minutes and since I was on Sprint it was free after 7PM.
A couple of years later I bought one of the first smartphones. It was a Kyocera Palm Phone. On it I could use the native Palm PPP dialer and again it would use the phone as a modem and just use my minutes. It worked pretty well, though the Palm browser was lacking. I mostly just used it for email.
Most phones support bridge networking over bluetooth these days, but that uses your data. Some phones used to have an IR port for serial communications and bridged calling/modem access, but I'm not familiar with anything current.
A few years ago I needed a way to SSH onto a dial-up server during a trip. Since hotspot was still an add-on, I bought a cheapie $15 Verizon prepaid flip phone and used that with a USB cable. It appeared as a serial modem under Linux.
The amusing thing was that apparently Verizon didn’t setup any sort of billing for my use-case, and since I never used the voice or text the thing just continued to work for a couple of years. It worked after the service cancelled, after the number was reclaimed, and then finally stopped only once the SIM card would no longer register on the network.
Not that I really cared - it was 9600 baud and I only used it a handful of times. Still a funny hack.
There was briefly a thing called HSCSD ("high-speed circuit switched data"), which allowed for 14.4k per circuit, and you could make two simultaneous connections to get 28.8k. It was basically ISDN over GSM.
But you paid per minute (twice as much for 28k) and it was swiftly killed off by GPRS.
Used this way back in the day when we got rid of our landline phone (this was around 2000), used my Kyocera phone as a modem to dial into our Earthlink service. Since we had unlimited night and weekend calling we primarily used the internet around then, oh boy was downloading Windows NT SP6 back then fun.
I was actually thinking of this recently. People have:
* unlimited minutes,
* limited mobile data,
* many don't use their home phone, and
* their home internet is rate limited instead of data limited
So, what's stopping anyone (besides know-how) from getting unlimited (albeit slow) data by making a call to one's home computer, and using it as a proxy to get access to one's home internet service from anywhere?
All one needs is something to hookup their home computer to a phone-line.
Back in college I did exactly this. It was 2004, I couldn't afford a data plan, but my school had a dialup service for resnet and I had free nights+weekends on my cell phone. I spent a lot of family RV trips in the passenger seat with my laptop using my cell phone as an analog modem over Bluetooth, getting free internet access at 9600 bits per second (nominally, slower in reality) browsing with images disabled because otherwise it was just unusable.
The data is so slow in modern-day terms that it wouldn't make a dent in their mobile-data cap anyway. We're talking 9600 baud, or 9.6kbps, for data over the mobile voice channel. Now, SSH'ing (or RDP'ing, for that matter) to their home pc over mobile data and doing data-intensive tasks through that channel is something that should be a lot more common than it is.
I can't think this would be very useful business-wise. The more likely uses I'm thinking of are when you need something from the internet in an emergency and you don't have anymore data for the month, or when your internet-needs can be satisfied with a terminal and you want to save those extra bucks every month.