The 40-Year-Old Cable Modem (part 1)
HTML-код
- Опубликовано: 20 авг 2024
- Technical deep-dive into one of the very first cable data modems -- from 1983!
The NABU PC and Network Adaptor were an amazing technical achievement that never caught on commercially, but pioneered high-speed cable network data software distribution. Follow along as I take apart one of these cable modems and try to get it to work again, nearly forty years after the original NABU Network service shut down.
We'll delve briefly into how cable TV tuners work, including frequency mixers, tunable oscillators and phase-locked loops (PLLs), automatic gain control, quadrature demodulators, and offset quadrature phase shift keyed (O-QPSK) demodulation using discrete logic chips.
Equipment used include an oscilloscope, RF signal generator, RF spectrum analyzer, digital logic analyzer, voltmeter, and continuity tester.
This work is open-source and documented on GitHub:
github.com/jbo...
For more hardware projects and hacks involving retro-computers, music and audio, and amateur and software-defined radio, please subscribe!
Acoustic coupler modem video clip credit: TV Ontario's "Bits and Bytes" episode 5, "Communications Between Computers", 1983
How absolutely fascinating! Thank you for the detailed, clear and interesting video.
Hey Mr. Black 😊
Whoa! Adrian's Digital Dong! (I'm on your OF)
Do you have any more NABU videos planned. It's all gone quiet on that front from you all recently. Unless it's my algorithms. (I watch all your videos) by the way haha. Just not seen too many nabu stuff recently. ❤
Fascinating, and it seems we have found a Ben Eater quality narrator for the RF realm
It's an AI generated narration.
Thanks, a couple of us *non* RF engineers scratched our heads at this for hours and determined we needed someone more talented in those areas. Between the cable industry docs & Leo's recollections we were incredibly close, and I'm glad you have experimentally proved several of our assumptions! Moving ever closer to having a solution for broadcasting to multiple real NABU modems.
Went into this video thinking "Oh its just gonna be a tear down and prob a recap of some archived document". Nope, you go full on "Fine, I'll build my own theme park, with blackjack and..." And I'll all in. Sub'ed and can't wait for more 😀
Same! It was impressive enough when some folks started throwing bits at the serial interface. This? I'm here for it.
Ehhhh, forget the blackjack!
I'm impressed with what they managed to do with discrete logic. (Of course, it's slow as an ice age, but for the era, 6Mbps was screaming.)
But when your computer only had 64K, 6.3 Mbps could fill it up (theoretically) twelve times a second!
Perhaps 6Mbps is the symbol rate but the actual data rate might be well lesser due low SNR and data directed to other terminals. I guess Nabu shared the medium (the whole 6Mbpbs) with all active subscribers of the service hooked to the same analog mux.
I saw no specific mention nor circuitry, but I assume the service used coax for downstream only?
@hg-sx5nk more than likely, I would Hazzard to guess it simply blasted out ALL applications over and over on repeat. 1983 divided by 6Mbits it could deliver the entire software library in just a few seconds, so the receiver simply waited for the requested program to just get streamed out again
Im still using DSL with only 2Mbps download, and no Mobile data or fiber
@@sharebrained In 1984 we had an 80286 with a 40MB hard drive. Sure it cost about 20 grand, and I'm not dismissing the tech of this box but some of us ran more than a commodore 64 :P
This is great. I love the way you explain not just how it works, but how you figured out how it works. It made it far easier to understand. Also really cool to see tech that we think of as wired is actually not much different from radio.
If NABU had come out a decade later, it would have been a massive success. Even with the tech of the 80s; imagine having 6Mbps at home in the mid 90s, instead of the dialup most people were stuck with until much later...
Finally someone dove into this! I have done this before with WeatherSTAR equipment and fortunately for those, it was simple NRZ/NRZI FSK stuff so reverse engineering that was a bit easier. Glad someone took the plunge here!
Hey, awesome work on the WeatherSTAR stuff. I was talking with some nerd friends recently about simulating some 80s and 90s Weather Channel vibes for a TV station we want to run at a hacker camp this summer. Your work has been invaluable!
I worked as a interactive services catv digital video admin from 2003-2009. I never used ot heard about NABU till this video.
From what i can surmise from the diagram @0:24 and the OP's excellent reverse engineering, the NABU software updates came in to the headend (HE) via satellite downlink. It was the most economical way to broadcast mostly static info over a large geographic area. Since this era of CATV had no reverse path, they likely used the HE Computer to mux in the other news-wire feed via either another satellite channel or subscribed to frame relay news data service, whatever was relevant to the local catv's market area.
The HE computer would arrange this all in to a data carousel. Basically stream the combined data out on a QPSK modulator on ATSC channel 31 (QPSK being the grand-daddy of QAM, which pre Docsis 3.1 uses for downstream from the CMTS to the customers), starting with the first bit of the first file to the last bit of the last file, and the NABU receiver at the customer premise just waits until the data the user requested is repeted in the stream and fetches it. TBH this much like how guide, firmware and service data is obtained by catv settop boxes when they boot.
So that’s why it took so long. Not slow downlink, but just waiting for the correct stream 🥸
This answers the grand old question as to how/why it took so long for the STBs to boot and load certain aspects. Very interesting stuff!
Mad video Jared, you've explained that RF circuit really well. Looking forward to the GNU radio hackery!
Thanks! It was a ton of fun to make, though the video editing learning curve was not as fun. But I’ve climbed up that curve a fair bit now, so it should be easier and faster to get the next video out.
Very interesting, thanks for sharing. The NABU modem is significantly more complex than the one found within the Intellivision PlayCable adapter. This was basically an FM car radio receiver that demodulated a 14kbps stream.
Thank you, this was extremely interesting. I used to work at a cable TV headend, and we spoke about this sort of thing all the time, many years ago. This was a wonderful refresher course!
As someone who used to work on the RF stuff at qualcomm many years ago, this was like coming home. I loved it. Figuring out what sort of data format the logic board is expecting will be fun also.
Your narration and progression pace makes the whole reverse engineering process look so effortless…but we all know decades of experience went into this. Keep it up ☝️
This was SOO far ahead of its time! I had no idea these devices exsisted! What a fantastic deep dive! Thank you for a wonderful presentation.
This is VERY interesteng. I'm from Argentina. Cable modems began here in the mid-90s. Please continue, I would like to see how it works. In '87 I worked here at a company building and testing 300 baud telephone modems. Beautiful era of BBS.
Didn't think I'd watch it all through, but it's satisfying to take something so complex and undocumented and systematically de-mystify each section so effectively to get a usable working model.
This is pure gold. I might use this knowledge to re-use some old cablemodems (probably the first ones) which used similar ICs.
This is the coolest thing I’ve seen on RUclips in a good while. I love the level of detail and pacing of the video. Looking forward to the follow up!
I wish I had this explanation in electronics class for how data communications works. We never had this covered. Only the circuits.
Your video makes perfect sense for how you turn an analogue signal into binary.
I'm just a lowly old network "engineer" and this is all way above my head. I just nodded along and pretended that I knew what you were talking about for most of the circuit decomposition segment. Great explanation of all of it, though.
I learned a lot about I/Q demodulation here - thanks Jared. I'm also another frustrated wannabe RF engineer :)
Your process and documentation of how you break down the problem is top-notch!
What a captivating investigation! O-QPSK sounded familiar, I think they used a similar method in the "Data Radio Channel", or DARC subcarrier used on FM radio.
Hey, thanks! It's good to see you here. :-)
Whoa! Hi Oona!
This is spectacular. Thank you. I love watching videos like these where topics such as PLLs, mixers. and quadrature is demonstrated using FBI-level forensics and reverse engineering, using a live example. Such great work. Thank you. Subscribed.
Having been a computer guy since my teens, but never done in RF before besides AM radio and the much more difficult FM in college, this is a fascinating breakdown.
Rarely do I see a complete walkthrough of the process of reverse engineering on hardware like this. I learned quite a few things! Subbed.
I think you've earned a spot next to my subscriptions of Cathode Ray Dude, Technology Connections, Oddity Archive, and Techmoan.
very impressive. i've never seen RF gear reverse engineered like this. not knowing what to expect, when you went to take it apart i was thinking "unfortunately it's impossible to figure out the protocol and frequencies from just the components"
starting my day off by being wrong sets me up for success :-) subscribed!
Awesome video, man! It was nice meeting you as well. Keep up the fantastic videos, I’m looking forward to your future stuff!
Awesome job reverse engineering this ancient monstrosity. I learned something today - I had no idea a commercially available cable modem was available in 1983. Interesting to see how primitive these are - there is literally no upstream, they just capture data coming down on a channel that is likely sent in non-stop repeating bursts and you "capture" what data you want. Totally a broadcast (hah!) network technology.
Ooh, one step closer to being able to light up my 2 NABU network adapters. Can’t wait to see where this goes!
Holy cow, Jared, this is fantastic. I also have a NABU Adaptor, so I'll be following along with great interest!
01:58 No! Noooooo ! You just voided the warranty !
Far more interesting than I initially thought when I started watching. Subscribed!!
What a great bit of reverse engineering! Also a great example of how much more difficult it was back then before we had the RF and signal processing chips we have today!
Very true. Speaking as somebody who's learned far more about the digital signal processing approaches to radio than the analog side, it's humbling to see how a few simple, inexpensive components can provide a clever solution that nicely solves the problem, even if it doesn't have the theoretical mathematical perfection of DSP.
@@sharebrained Yes - in many ways signal processing was much more of challenge back then. Now just throw a few million - or billion transistors at it :)
Well played on making your title card a nod to the 40 Yearold Virgin movie cover.
Thank you for posting this. I remember talk of a cable modem in about this timeframe on one of the Saturday morning shows. At the time I was 12 YO and BBSing with my 300 baud modem. The idea of a cable modem fascinated me, especially the speeds that were talked about. (115,200 baud?) I remember thinking that any BBS you called for those speeds, would have to have a cable modem too. I had no idea how it would work. I am glad to know that this memory was not a fever dream, and that there was a whole service built around it. Can't wait to see the next parts!
When I was younger, you are the type of person I would have given anything just to have a few hours of your time to ask all kinds of questions. There were a few people that were like this and would spend the time, at no gain for themselves, to encourage me.
The difference is, back then, there was no youtube. So I applaud you for taking the time to produce these excellent videos to share your knowledge.
RF wizardry is always impressive to me
Especially EARLY RF wizardry like this. These were probably designed in the late 70's for early 80's production.
Ah man, glad I caught this upload! I had started trying to do this myself but gave up rather quickly, lol
6Mbps was absolutely banging for home network connectivity in those days. Too bad it was a unidirectional channel..
This was amazing! You are fantastic an explaining what you are doing. I have a whole new world to explore thanks to what I've just learned from your video.
Fantastic video. Going step by step through the circuit with all the details is perfect for someone who only knows enough RF to be dangerous. I can't wait for part two.
I just stumbled on this thanks to the RUclips algorithm, and this was A-MA-ZING. Why the algorithm keeps such underdogs hidden from view so long baffles me.
Thank you for this. Instant sub and can't wait to see the next part.
I'm only a few seconds in and I've already subbed, new best friend here I come!!
RUclips knows what I like and gave me you. Thank you for the content. Can't wait for part 2 but while I am waiting it's time to go back in your channel history!
Subbed and put notifications on. What you do here is for sure not to be missed as soon as you upload a new video.
Great video, thanks. 9:30 The signal level output from the shielded box may be part of an active AGC, some kit of this vintage takes the output from a peak level detector onto the logic board, then software with a slow PWM DAC generates the "real" AGC signal for some amp or detector. The advantage is that you can fiddle with the gain response in software. If this is the case look out for a "poor mans ADC", that is a logic signal being used to charge (or inverted discharge) a capacitor which a CPU line discharges (or charges), another common money saving trick.
Thanks! This is a bit of foreshadowing for the next video, but, thanks to @philpem we know that the logic board is doing next to nothing with the signal, other than gating the “CABLE” LED on or off. So we won’t be finding any clever PWM DACs, I’m sad to say. I suspect it’s because this cable adapter is expected to work in a very controlled environment, a CATV network, where noise and interference and loss is limited and they can design with less challenging constraints than terrestrial over-the-air broadcast.
@@sharebrained Interesting, thanks. Cable modem AGC was typically not about noise but about saturation problems, some people close to the road box had a thumping great signal, some installers added an attenuator in the road box based on tests from the consumer end of the cable but other networks did not bother and relied on the box being able to cope with a signal from the distribution amplifier that sometimes barely needed the coax. This may be a UK thing as cable TV/modem came the UK many years after the US and Canada so maybe the standards had evolved.
Sorry, I wasn’t very clear. I think the design of the NABU Network Adaptor is exactly what you said. The signal power you can expect over a CATV network will be in a more limited range (maybe three orders of magnitude?), and the AGC is just a means to compensate for that. It’s not trying to fish out a signal among a ton of terrestrial noise, over 50 dB or more of power variability at the receiver antenna. I suppose it’s also a matter of inverse-square law vs. linear attenuation in a cable. Anyway, the signal metering and gain control are local to that amplification stage (no microprocessor involvement in gain control), and the signal metering just passes through the logic board (and a comparator, IIRC) to turn on the “CABLE” LED.
@@sharebrained Ah, I see, thanks. Interesting topic, nicely done with good and detailed explanation, I Look forward to the next part. The 6Mbps show the equipment's age, I am interested in the digital side of that as well, it will be interesting to see how that data is decoded by the CPU. I will wait for the next part so no spoilers :-) Thanks for taking the time to make a such a deep dive video. Nice use of test equipment as well.
@@jonshouse1 6Mbps in 1981 was FAR from aged.
Wow! This was one of the best videos ive found on youtube. Some years since i have touched RF but this video had me from start to finish! Please continue the series and more!
Primestar was an incredible C-BAND receiver
I never understood why they didn't put in an MPG-2 upgrade
They did MPG 1.5 Which was short lived
But it was a very solid receiver
Sweet! Ready for Part 2!
Excellent video. I knew nothing about this topic, but now I know a little.
Thanks! It’s wild to me that I didn’t know anything about the NABU until a couple of years ago. It seems like a major piece of computing history just got swept under the rug. “Oh, they failed, must not have been a good idea, let’s not talk about it any more.” 🙄
Great work - Detailed, clear, and what's more, concise.
Nice! I can't wait to see the next video. This thing sounds like it was way ahead of its' time. It must have been a marketing fail or more likely they could not get more cable operators on board with the concept. Back then, consumers didn't have any choice in cable provider and you usually were required to use the service provider owned equipment. I didn't start hearing about cable modems until the late 1990's.
What an awesome project!
Wow, great work!
15.625Khz is the horizontal frequency for.... PAL. It's odd that they're using this frequency for something unrelated, especially in an NTSC country. Maybe that was just a convenient frequency for parts availability? Or maybe it was meant to reduce interference fed back into the cable network, but they made it for PAL initially.
The connection with PAL is coincidental, I'm pretty sure. I think it simplifies the math greatly. The processor onboard the Network Adapter had only about 1K of program memory, and a few dozen (64?) bytes of RAM. Not a lot of room to do fancy PLL math. So they cleverly selected a crystal and PLL configuration that made the value in the N divider the same as the resulting local oscillator frequency in MHz. And all the cable TV channels are spaced exactly 6 MHz apart. So all the processor had to do was use a simple multiply-by-six function, to change channel number to a PLL N divider value.
oh this is very interesting, subscribed and eager for more on this interesting bit of tech
glad this video popped up in my feed, i didn't know about the channel but as a hackrf kickstarter supporter and portapack owner i instantly recognized the logo :)
despite knowing very little about reverse engineering analog electronics, your explanation was easy to follow and very informative. subscribed to see what's next!
Fan-freaking-tastic! Thank you for doing this. I'm probably echoing others here but I've wondered how this worked with the hopes of perhaps one day mocking up something to emulate the head-end side of things towards to modem+nabu. Excited to see your next video. Thank you again!
Great reversing. Can't wait for the next installment. Subscribed.
Thank you for taking the time to make this video and sharing your expertise.
excellent work Jared, never even heard of Nabu
This was awesome. I shared it with all of my coworkers. I wonder how much the concepts here were similar to later/current cable modems, but with more complexity and speed.
Very interesting! I think that's the only video out there on how the NABU's cable modem works.
Hi Jared ! Love these kind of detailed reverse-engineering videos :) Hope to see more.
This is awesome!! Love the reverse engineering and extremely well done video and explanations.
This is wild 6.3mbit in the times that 1.4kbit was a gold standard is crazy, I would have subbed for this history. But going into EEVblog detail and then past his into full on engineering content hats off!
FWIW, IIRC the ludicrously fast 6Mbps was actually shared amongst everyone in the local loop (your neighborhood), but that still was really really fast.
I'm hooked! Subbed and awaiting part 2!
Words cannot describe! Rhis is such a good video on logically approaching a mystery box
Random RUclips recommendations for new channels I don't usually click on, but this has piqued my interest as someone curious about early Cable/Radio comms, I look forward to seeing you cover this some more, as it's interesting to see that such speeds were theoretically achieved well before the dawn of WWW and what would eventually become Broadband
It is very interesting writing a CDR in software for an SDR and then see the circuit version of a CDR.
When I saw "reverse engineering" I was hoping it was gonna be something like this. I'm not huge into the Nabu stuff, but I'm aware of it enough to be interested when something like this appears in my feed. Definitely looking forward to further updates.
I am so excited for part to I love stuff like this
Fascinating! Subscribed and looking forward to part 2!
This topic is definitely not in my comfort zone, yet to make it feel like one, big kudos!
Stuff like this reminds me that I wanted to learn more about hardware hacking and reverse engineering
This is really top level shit. Like every step I was expecting the video to end, and then it just went into the next level of information. Good luck in Gnuradio
Can't wait for part 2.
I SAID I CAN'T WAIT! :D
I was one of the first subscribers to pre-DOCSIS COM21 cable internet service from @Home in Aurora Colorado. 10 megabit download, 1mbit upload potential for an entire neighborhood, and everyone limited to 128Kbit/s for upload so the upstream wouldn't get swamped. Ah what exciting times in i think it was 1998?
That's actually really good for that period of time.
years ago around 2002 or so I remember having a conversation with a few of the Magic The Gathering guys at the local game store talking about the introduction of Cable Internet (using cable modems) and one of the guys there was a bit older (probably mid to late 30s and he mentioned that he remembered one of his college friends at the doom he lived at had a cable modem where you could download stuff from various types of bulletin boards or a specific bulletin board at speeds far exceeding the typical 200 or 400 baud modems common at the time maybe circa around 1984 or 1985 mentionging that the whole concept of a "cable modem" has been around for years. I think he might have been talking about this product but not sure.
10:36 : I vaguely recall that back-to-back transistors is often emblematic of trying to keep the transistor's temperatures close together, which in turn keeps their behaviors closer tegether. It's frequently an analog processing thing. Roman Black talks about it on the page of his site that goes through building a custom oven-controlled crystal.
I feel like Homer Simpson watching this but I'm still fascinated, thank you.
You truly deserve a like and a Sub. your ability to reverse engineer this is quite captivating
Thanks for this video - while most Nabu fans/devs have just given us the tools to use them today, you've explained the hardware in a way I haven't yet seen. Thanks- also I picked up on your 'cable modem' naming... there's a z80 in there, I think; so it's a computer too right? I haven't yet ordered a baby but plan on it. Thanks for making that a possibility as knowledge makes the nabu a cool retro cable modem. :)
This is some seriously nice sleuthing!
Can't wait for the next video
Very well explained, now if only other channels did the same thing when tearing stuff down rather just "reflow this and recap that and bosh it's all fixed". It doesn't help people troubleshoot the issue.
I must see pt.2!
Subscribed! I want to see more!
Wow! Super interesting. Keep it going!
I was just wondering what you've been up to lately. Now I know. I'm looking forward to the next video.
Oh hi! :-) Got any hacker summer camp plans?
@@sharebrained I'll be at Defcon. The new venue should be interesting. I hope to see you there.
nice work
I'm really happy to have come across this on Hackaday! I've been looking for information on how the NABU Adaptor works, I've been thinking about trying to design a circuit to generate the broadcast signal needed to have it receive information. A lot of what I could find was vague or conflicting (on the details that aren't covered in the manual like O-QPSK and the ~6 MHz bit rate), so this is great! I've got a NABU with Adaptor, but haven't gotten around to taking apart the Adaptor to try reverse-engineering it myself.
I was a bit confused in the video about where the bit clock is coming from. It appears in the block diagram, but isn't talked about looking at the schematic. I ended up watching the last third of the video a few times to see if I missed something.
You're right, it's not in there! I'd spent a lot of time already making this video and had to get it out. So I kinda swept that under the rug. I'll add it to the list of things to cover for the next episode, as I think clock recovery might be a good topic to explore while working on the GNU Radio modulator.
Nice work! Subscribed.
Very cool! Subscribed.
This is great!
Wow, if they had made this compatible with the C64 it would have been huge. Being locked into one computer I never heard of was a bad idea, no wonder it failed. The speed is also crazy, I didn't have 6 Mbps download speeds until probably 2010? The Wikipedia page says this was bi-directional, how was this thing uploading?
The Nabu network streamed the entire software library on a loop. The software in the library would change, with programs being added and removed from time to time. The network adapter communicated with the Nabu PC at 111,865 bps, far slower than the network's 6Mbps, but Much faster than the typical 300-1200 bps modems of the time. My understanding is that bidirectional communication was only possible in a very small area and I'm not sure if that functionality was ever implemented. As far as being locked to one computer, that was the norm back then. Every system ran software written specifically for that system. There was very little software and hardware compatibility between systems. Even Basic programs often had to be tailored for specific systems.
this is like red meat for electrical engineers and radio nerds
6 Mbit/s sounds fun in 1983. The best most people could get was around 1200baud which is around 150bytes/s.