8 ms·
Analysis and reverse-engineering of the original Starlink router
- andoma 5y agoDepressing to see a “reboot every 20 days” hack / workaround for whatever stuff doesn’t work correctly. OTOH the xfinity Arris modem I used to have rebooted almost daily whenever it felt a bit sad (I think if the BER crossed a threshold or something), so I suppose it’s an improvement if that’s your baseline.
- mschuster91 5y agoThe norm in embedded world, particularly if the component giving you hard-to-debug issues is a "black box" where you have to deal with binary blob firmware - and almost everything dealing with WiFi or BT is closed source.
- randomhacker123 5y agoIt is very likely that most Qualcomm customers like Starlink have access to the source code of the Qualcomm proprietary Wifi driver for the QCA wifi Access point SoCs. Some vendors also have access to the source code of the proprietary Wifi firmware running on the Tensilica CPUs inside the Wifi IP core of the SoC. (Linux runs on an ARM CPU in this SoC, the wifi IP cores are an extra realtime FW) End consumers normally do not have access to some source code or any documentation about these chips, sometimes even the competitors are getting access to source code to integrate their solution better. I do not know whom they protect against, probably all people who did not sign a NDA. These thinks are only shipped to end customers in binary only version to protect the IP from someone. Often it is pretty easy to tell the system it is now operating in a different country (e.g. setting in Web UI) and then it will not comply to the local radio regulatory requirements any more. From my experience it is not the FCC which really demands it, please blame the chip vendors for binary only driver first. The worst hacker for a silicon vendor, where they normally protect most against, is some guy like the author of this blog post who analyses his device in much detail and tries to run own software on it which was not verified by the vendor first. Such software modifications could cause worse customer experience because it is performing worse (which is funny if they have to reboot the vendor software every 20 days) or could cause extra support effort.
- baybal2 5y ago> It is very likely that most Qualcomm customers like Starlink have access to the source code of the Qualcomm proprietary Wifi driver for the QCA wifi Access point SoCs No. They are jus that hard to work with. MTK, Qcom, BCom are all terrible with software support, no matter who you are.
- mschuster91 5y agoUnless you're Apple, I'd make an exception there - they absolutely require support from their vendors for all their non-standard stuff: AirPlay WiFi-based screen mirroring, Handoff, Thunderbolt-based Target Display Mode / Target Disk Mode. Apple always demands to be in control of what is running on their devices, no matter what - even where it's pure software that's concerned, like with the NVidia fallout - and they (usually) insist on quality... there's a reason why Apple hardware feels so painless to interoperate, compared to the Windows or Linux world.
- mikevin 5y agoI doubt Apple ever had real access to something like Intel ME though.
- randomhacker123 5y agoCandela Technologies for example has access to the QCA wifi firmware source code for the QCA Wifi 5 AP chips. They provide custom builds here: https://www.candelatech.com/ath10k.php https://www.candelatech.com/ath10k.php I know of one other company. I do not know if they also have access to the driver source code, but I assume so. Silicon vendors often do not care about small customers, small is probably less than 250k units per year. If you are a customer which is expected to generate more than 5% of the revenue for the complete product line or the business unit then you get good support from these companies. The proprietary Broadcom Wifi driver was leaked multiple times by some companies which did not run the script to clean a GPL tar, but did something on their own and forgot to remove the Boardcom wifi driver source code. Last time I saw this was already 8 years ago. The Broadcom proprietary Wifi driver also contained the source code of the firmware running on the ARM chip inside the Wifi IP, at least it did this some time ago. For the Qualcomm 5G modem and the graphics driver this is probably different.
- squarefoot 5y agoIt wouldn't be a huge issue if the user had control on when the reboot would occur. I mean, for many users it would be much better to have a reboot at 4AM say every sunday morning than randomly and possibly in the middle of something important. An external timer power cycling the router at the desired moment before the 20th day can solve the problem as the counter would then restart, but it would have been trivial to implement it in software.
- IgorPartola 5y agoI think it absolutely is an issue. Don’t drop my connection more than once a year.
- deleted 5y ago[deleted]
- spmurrayzzz 5y agoThis is very often due to upstream vendor issues. In the case of routers, even if you're the one designing the IC's, building all the layer 7 services, industrial design of the plastics, etc; there's likely still a vendor providing your radios and their drivers are almost always a black box for you. Sometimes, while you go back and forth with the vendor in a hapless effort to repro anomalous bugs, the best thing for the customer is reboot-every-N-days instead of degraded-performance-forever. It sucks, but its commonplace. (N.B. I work in this space and its definitely been a pain point that we've had to accept to be able to make progress)
- ncmncm 5y agoIf they put a few GB of RAM in the router, they could run a proxy in it to play video out of a cache of traffic broadcast to all terminals in range of a satellite and held by terminals that actually want it, obviating need to upload and download multiple logically-identical copies of content being watched (at possibly different points in the playback sequence) from multiple terminals in the area. This would reduce loading on the channels, enabling more effective bandwidth from the very limited available spectrum. It would need adaptation at the application layer, but the data management needed is minimal. It would also need some attention at the central terminus / edge node serving the area, to identify duplicate requested streams and shift a corresponding stream to the broadcast channel. In turn, this would typically depend on cooperation from the original source of a stream, typically mediated by their contract with an edge cache service. The extremum of usefulness for this facility would be when hundreds or thousands of terminals in an area are used to watch the same World Cup football match. In this case, the cache storage footprint would be minimal, as almost all viewers would be watching at the same point in the broadcast. More commonly, a few blockbuster movies and local news might dominate broadcast traffic. But no advance planning or personal attention would be needed; any stream found being fed to more than one downlink could be shifted to broadcast according to the amount of bandwidth that would thereby be saved. As laser inter-satellite links are added to the constellation, a single uplink stream could serve simultaneous broadcast from multiple satellites in a chain.
- fuzzy2 5y agoNo need for any caching, just do proper multicast like "real" IPTV networks do. Other than that, I don't think that enough people would watch the same shows within a reasonable timeframe to justify the costs.
- ncmncm 5y agoMulticast would save exactly zero Hz of spectrum bandwidth, which a moment's thought would reveal to you. Allow me encourage a habit of that. Multicast routing uses, exclusively, point-to-point links. So, a packet could go up to the satellite once, but would need to be copied down to every terminal individually. But internet video is in any case not distributed by multicast UDP. Even if it were, you still would need caching for viewers not watching identically the same frames at the same time, because a multicast router does not do time-shifting: all copies of each packet are queued to send immediately.
- alufers 5y agoWoah, really in-depth write-up. It's sad that so many vendors are locking-up their Linux devices, preventing technically savy people from running their own software there (and also not releasing drivers to their hardware, for example it is really hard to find a 802.11ax router that is supported by OpenWrt). > This app is written in Go, and it’s really hard to disassemble. Shouldn't it be easier than an app written in C/C++? As far as I know Go embeds reflection metadata, including type information, which should help with decompiling. I have never tried though, so I might be wrong.
- randomhacker123 5y agoThe MediaTek wifi AX platform is supported by OpenWrt master and also supported by upstream Linux including AX wifi. (MediaTek contributes a lot to upstream kernel) * MT7622 SoC (2x Cortex-A53, including 4x4 ieee80211n wifi integrated in MT7622 and supported by upstream kernel too) * MT7915 Wifi 6 (ieee80211ax) 4x4 * MT7530 5 port 1G switch (2.5G uplink) You can find this hardware in the following devices: * Linksys E8450 / Belkin RT3200 (same device just different name and color of casing) * Ubiquiti UniFi 6 LR * Also some others See here the open source wifi driver for MT7915: https://github.com/torvalds/linux/tree/master/drivers/net/wireless/mediatek/mt76 https://github.com/torvalds/linux/tree/master/drivers/net/wi...
- alufers 5y agoUnfortunately the Linksys E8450 is unavailable in my country (Poland) or is ridiculously expensive. I settled on a Totolink X5000R which supposedly is supported by OpenWRT and has a Mediatek MT7621A. I will receive it in 2 days and test it.
- paulcarroty 5y agohttps://en.wikipedia.org/wiki/Mail_forwarding https://en.wikipedia.org/wiki/Mail_forwarding
- tyingq 5y agoI think SpaceX/Starlink is specifically trying to protect the geo-fencing so they can sell a more expensive mobile product for RVs, etc. Edit: Maybe not? https://publish.twitter.com/?query=https%3A%2F%2Ftwitter.com%2Felonmusk%2Fstatus%2F1382842277719003136&widget=Tweet https://publish.twitter.com/?query=https%3A%2F%2Ftwitter.com... ... though it is already "later this year".
- richarme 5y ago> Also, there are multiple u-boot binaries with separate environments. It could be done for redundancy or different modes. I’m not sure. This is typically done in order to be able to safely update the u-boot bootloader, retaining the ability to boot the previous version if the upgrade fails. Also called A/B firmware update. The previous bootloader stage ("SBL" or "TZ", depending on secure boot mechanism) might check a flag in a configuration partition to see which loader should be started and whether a previous boot to that loader was attempted, and will revert back to the previously active one after an upgrade that fails to boot up, or fails to pass secure boot integrity checks. A failure could for instance happen if the power drops while writing the update to the u-boot partition. Without such a mechanism, an update failure would brick the device. Alternatives are "never update the bootloader", or "hope for the best".
- colejohnson66 5y agoSome x86 motherboards (especially high-end ones) are now adding this feature as well. They're sometimes referred to as "dual BIOS" motherboards.
- pixl97 5y agoIn this way BIOS's are so much better these days. You can even boot and update your BIOS without a working processor. Did this over Christmas when the mainboard/CPU combo I got for a family member wasn't compatible. Just put in a USB drive with the correct file name and press a button on the board and it updated and I was good to go. A little of topic, but just wanted to state how much better these things are than the old days where it was easy to brick a board.
- oblak 5y agoMinor correction: many motherboards, especially high-end ones, have had this feature a decade or so
- tyingq 5y agoSimilar article reverse-engineering the embedded linux server in the antenna. Though they didn't get as far. It also has an STMICRO STSAFE chip: https://www.esat.kuleuven.be/cosic/blog/dumping-and-extracting-the-spacex-starlink-user-terminal-firmware/ https://www.esat.kuleuven.be/cosic/blog/dumping-and-extracti...
- kybernetyk 5y agoI don’t understand why star link is country bound. Here in the eu you can’t take your starlink equipment with you when you travel to another eu country. It just won’t work. Even if it’s a neighboring country. And even when starlink is offered in said country. You need a country specific kit. This is the only reason I didn’t get a starlink subscription. Seems like a bullshit limitation. Reminds me kinda of Tesla stink.
- Denvercoder9 5y agoSpaceX has to allocate bandwidth on the satellites to consumers. If consumers move, they will have overallocated bandwidth in some places, degrading network performance. They'll probably come out with a mobile product at a higher price point in the future.
- tpmx 5y agoKind of doubtful that consumers moving their terminals around would be statistically significant compared to all the other factors that cause regional variations in aggregated bandwidth usage.
- rtkwe 5y agoIf it were offered as a mobile service it would be very attractive to people on the go so it would skew the number of mobile nodes higher than expected. I think base station discovery is another issue blocking mobile nodes from happening so an in between step could be to provide a way to easily move your base station and register it to a new cell.
- rtkwe 5y agoThere's a couple reasons this is currently happening: 1) The Starlink Constellation only looks for your base station in it's allocated cell and isn't setup to scan and discover mobile stations 2) Right now there is no communication inside the constellation (they might have launched a few with the laser links but it's not turned on broadly) so the satellites are linking down to another base station that has access out to the wider internet. They need to provision access on those so they don't get overwhelmed. 3) The base station itself needs to know where it is well enough to hit the active satellite for it's cell. You might be able to do that without GPS but it is an issue you have to address. Both of these are supposed to be solved eventually and they've said they are planning to allow roaming base stations eventually.
- smoldesu 5y agoI like this router a lot, a few notes from using it for almost a year now: 1. It gets really hot. Like, it kinda makes the plastic routers seem well-ventilated. 2. Congestion is, sadly, a real concern here. Too many devices will definitely cause the router to choke a bit, and if you're going to share it with a family that's just something to be aware of. 3. Latency is fine wired, but a little shaky over WiFi. Especially recently; I'm not sure if this is a firmware issue or what, but there's some funky QoS issues that I've noticed lately where latency is wildly unpredictable. It almost shut down a Zoom interview the other day... 4. You get one LAN port. That's it. Besides those gripes, it's fine, but it leaves a lot to improve on for the next iterations. Hopefully Starlink is taking notes here, because as nice of a device as it is, it does feel a little rushed for the purpose of getting it out the door.