back to article OK, Google: Why does Chromecast clobber Wi-Fi connections?

Wi-Fi router vendors have started issuing patches to defend their products against Google Chromecast devices. TP-Link and Linksys were first out of the blocks with firmware fixes, and TP-Link has posted this explanation of the issue. The bug is not in the routers, but in Google's "Cast" feature, used in Chromecast, Google …

Page:

  1. This post has been deleted by its author

  2. Anonymous Coward
    Anonymous Coward

    Its more than just *cast devices doing this, its also all Google Home devices, and also may still be google's Nexus Player

    This is a screw-up of ginormous proportions, worthy of a company with a name like "googol"

    I hope Netgear release firmware for other older routers too, not just their latest Orbi Mesh one.

    1. Mark 65

      I think they should just issue a statement calling out Google's shitty coding.

      1. Anonymous Coward
        Anonymous Coward

        Google employ coders? I thought they just sat around all day drinking poncy coffees like Q whilst rifling through your NHS Heath Data records.

        1. wolfetone Silver badge

          "Google employ coders? I thought they just sat around all day drinking poncy coffees like Q whilst rifling through your NHS Heath Data records."

          That's Virgin Health you're on about, isn't it?

      2. mathew42
        Unhappy

        Router code is just as crap

        Router coding doesn't seem significantly better when a flood of packets will fill up the router's memory and require a physical report.

        In summary, any (malicious) code on the network with access to generate UDP packets can cause most routers to lock-up.

        1. Robert Heffernan

          Re: Router code is just as crap

          "Router coding doesn't seem significantly better when a flood of packets will fill up the router's memory and require a physical report."

          It's not hard...

          If(packetBuffer.IsFull() == true)

          {

          packet.Drop();

          return;

          }

          1. dajames

            Re: Router code is just as crap

            If(packetBuffer.IsFull() == true)

            Or even just:

            If( packetBuffer.IsFull() )

            ... because, you know ... Boolean logic.

            The compiler will probably emit the same thing in each case, but the shorter way is easier to read/maintain.

  3. Mark 85

    Send packets every 20 seconds and then goes into some version of "panic mode" if the Mother Ship can't make contact. Right? WTF...is this even necessary? It truly would appear that Google wants to be Big Brother. Add to that, if you're on a metered connection, it could get expensive real fast.

    1. Sampler

      One would assume that's on the lan side, for devices the chromecast will be connecting to for casting from, judging by the wording of the article, the phoning home will be a different flood of packets as it sends back everything it's recorded whilst "asleep" (in terms of Google Home devices).

    2. Lee D Silver badge

      Chromecast announces its presence on the LAN at regular intervals so that devices that want to Cast know there's a Cast-compatible device.

      No different to Airplay, DLNA, or any similar technology.

      The stupidity is in sending a packet for every announcement "missed" because it was asleep, all lumped together the second it wakes up. That's just dumb.

      1. sanmigueelbeer
        Thumb Up

        That's just dumb.

        Nope. It's just Google.

        1. Jeffrey Nonken

          "Nope. It's just Google."

          Oh, this type of mistake is certainly not uniquely Google.

          1. Anonymous Coward
            Anonymous Coward

            This type of mistake is certainly not uniquely Google

            Maybe not, but few other companies publicly pursue the mistakes of their competitors as aggressively as Google does. I think Google earns just about every iota of scorn that is flung back at it.

      2. Dyson Lu

        The Google coding team responsible for their Cast product has become pretty bad. Worse is that they force-upgrade so you have no choice but swallow the buggy code.

      3. Bandikoto

        It's typical "I've been taught to code, but I don't actually understand computers and the culture/environment in which they're used". People who have no idea of the limitations of where their code will be executed — i.e. why it's unreasonable to bang out N packets all at once, rather than feed them to a rate-moderated emitter, or in this case more than N (for small values of N) is unreasonable to stuff into your for(register x=0;x<N;x++) resend_MDNS_announcement(last_index_sent+x); /* spot the errors */ loop.

        What is 2,000,000 packets blasted out on your typical 802.11g network in a typical crowded urban environment, anyway?

        Why, indeed, is it unreasonable for any one subsystem to be able to allocate all of the available RAM for its own use and then busy-wait while it's waiting for those 2,000,000 packets to be stuffed out the radio?

      4. IceC0ld

        The stupidity is in sending a packet for every announcement "missed" because it was asleep, all lumped together the second it wakes up. That's just dumb.

        short n concise precis of what the fail actually IS - cheers

        1. Roland6 Silver badge

          >short n concise precis of what the fail actually IS - cheers

          Well there are two parts to this, the dumb client being just one, the other is from my very brief analysis of a few routers I've recently had access to from: Netgear, Huawei, EE & Draytek, is that the 'cheap' domestic grade routers have very little real firewall capabilities. Only the Draytek (of my routers) supports DoS and UDP flood protection.

    3. Mike Dimmick

      I presume this is some form of timer that the OS stops when the Chromecast is sleeping - but then runs the timer handler for every 'missed' timer event when it wakes up. Therefore if it's been asleep for a minute, you'll get three attempts - but if it's been asleep for a week, you get 30,240 (= 3 x 60 x 24 x 7).

      1. Anonymous Coward
        Anonymous Coward

        Sounds like one of the internal monitoring tools we used to have on our corporate laptops.

        Sleep, or hibernate the machines, and on boot up, the HD was thrashed for a while, and how long seemed to be related to the length of the sleep. Could be thrashing for 30 mins or more after a weekend for example, and pretty much stopped all other usage of the device till it was done, due to badly set permissions (was low priority, but not low IO).

        Was traced to some monitoring tool, that would periodically scan logs, and create a summary that was pushed to a central server. You guessed it, it didn't take into account sleep or hibernate, and so just ran all it's 'missed' jobs in one go, and in parallel!

      2. NullReference Exception

        Sounds like the behavior of Java's Timer.scheduleAtFixedRate() and/or ScheduledExecutorService.scheduleAtFixedRate(). It fails horribly in this exact manner any time the system clock jumps (due to the system going to sleep, the time being set, etc.). Been burned by that too many times to count.

        Knowing that Google uses Java heavily, I'd wager this is the culprit.

        1. Destroy All Monsters Silver badge
          Headmaster

          Knowing that Google uses Java heavily, I'd wager this is the culprit.

          Nope, they are just using the API.

          "it fails horribly" == "I didn't read the JavaDoc. 21st century programming style?

          In fixed-rate execution, each execution is scheduled relative to the scheduled execution time of the initial execution. If an execution is delayed for any reason (such as garbage collection or other background activity), two or more executions will occur in rapid succession to "catch up." In the long run, the frequency of execution will be exactly the reciprocal of the specified period (assuming the system clock underlying Object.wait(long) is accurate). As a consequence of the above, if the scheduled first time is in the past, then any "missed" executions will be scheduled for immediate "catch up" execution.

          1. sabroni Silver badge

            @Destroy All Monsters

            Any idea why the Java engineers decided running all the missed instances was necessary? Most scheduled tasks I'm familiar with process whatever data is available when they run, so a single instance running would pick up all the missed data. I'm struggling to think of a situation where this "run multiple instances at the same time "behaviour would be of value.

        2. Anonymous Coward
          Facepalm

          So Timer.scheduleAtFixedRate() in fact doesn't schedule at a fixed rate! Nice API...

    4. Anonymous Coward
      Anonymous Coward

      You are just embarrassing, give it a rest.

  4. Phil Kingston

    Linksys, Asus, TP-Link, Netgear, Synology all affected.

    Good to see this getting some coverage now (issue started early December).

    Would be good to get at least an acknowledgement of the issue from Google.

    1. Dan 55 Silver badge

      It's a rather sad indictment that the way to get router manufacturers to put out updates to their firmware is Google screwing up.

      1. Anonymous Coward
        Anonymous Coward

        The router manufacturers needed to do something: DoS protection for starters.

    2. Coen Dijkgraaf

      Aknowledgement of the issue from Google.

      @Phil Kingston

      UPDATE: The Register understands that Google has admitted to the flaw, said it impacts a "small number" of users, and committed to providing a fix in short order.

      1. Adam 52 Silver badge

        Re: Aknowledgement of the issue from Google.

        This, in itself, is newsworthy. I can't think of any other time when Google has admitted to making a mistake.

  5. Kevin McMurtrie Silver badge

    Roku F-u

    This isn't new. Some Roku devices have a bug where its WiFi Direct channel is negotiated on the most active channel rather than the least, essentially killing your home WiFi. The difference is that Roku can't be bothered to fix it.

    1. Phil W

      Re: Roku F-u

      I believe the problem is actually that the WiFi direct channel is set the same as the WiFi channel the connection to your router is using, so that the Internet/LAN connection and WiFi Direct connection for the remote are on the same channel. I imagine this is probably due to latency introduced, particular for the remote, if it's having to operate on multiple WiFi channels at the same time.

    2. Anonymous Coward
      Anonymous Coward

      Re: Roku F-u

      Roku won't fix the WiFi Direct issue because they see it as a feature, not a bug. Luckily, there is an option to disable it buried deep in the settings. Unfortunately, my Roku ignores the option. So I had to fiddle with the power and interference settings to reduce the WiFi Direct transmit power instead.

      1. Mike 'H'

        Re: Roku F-u

        I'm not so sure the issue is "fixable".

        This would imply the Roku has _2_ radios, and not just the single radio I've been able to find so far.

        The single radio it has is a dual-band (but not simultaneously both bands at the same time) 2.4 and 5GHz. You'd need an entirely separate radio to make your setting even possible in a wirelessly-connected Roku scenario.

        Therefore, if you don't have the device plugged into a wired LAN, you are forcibly limited to being on the same channel that the Roku is already tuned to, to access your WLAN.

        When plugged into wired Ethernet, you can rightfully expect it to honor your settings; when connected wirelessly it cannot.

        If your Roku Streaming Stick for example doesn't have a Wired connection to begin with, you're SOL - or you could always leave it as an island, with no Internet connectivity, and expect it to perform admirably on your preset channel Wifi-Direct-only.

        1. Anonymous Coward
          Anonymous Coward

          Re: Roku F-u

          "When plugged into wired Ethernet, you can rightfully expect it to honor your settings; when connected wirelessly it cannot."

          You wouldn't be able to turn of Wifi direct even then because that's how the remote connects.

  6. wobbly1

    when in tandem...

    ....with the "Minusnet" supplied router failing to have an AP isolation mode , (they told me categorically my existing router would be incompatible, and having changed from ADSL2 to FTTC i took them at their word ) making the chromecast invisible to the any devices if it connects to the 5.4 Ghz network, i hadn't noticed this further hit. i have a tortuous work round for the no AP isolation problem, Minusnet have no interest in fixing this as searches for chromecast in their support forums shows.

    1. Anonymous Coward
      Anonymous Coward

      Re: when in tandem...

      Google about, you can more than likely use a BT OpenReach fibre modem (~£15 on eBay) and a router of your choosing. I'm on BT broadband, ask them and only the Home Hub works with it. I have an OpenReach modem and Netgear router.

      The difficulty lies in knowing how to get your router to login to the ISP account (rather than anything overly technical with the line), for BT it's fairly simple as they authenticate the line, so providing bthomehub@btinternet.com without a password works.

      If you can't find this for your ISP and you're fairly technical, look into hacking your router, even if it doesn't display it in the web UI, it'll likely be in a text file somewhere on it if you can gain telnet / file system access.

      1. Chloe Cresswell Silver badge

        Re: when in tandem...

        Or if you need a new device: vigor 130.

        The only isp I know of with issues on getting usernames and passwords is sky.

        1. Anonymous Coward
          Anonymous Coward

          Re: when in tandem...

          The Vigor 130 is an excellent box, but do note that is an FTTC *modem* not *router*. So you also need something which routes to terminate the PPPoE session on.

          I use Plusnet + Vigor 130 + Mikrotik hEX PoE + Unifi AP AC Lite (x2), and it's a very reliable combination. The Vigor 130 has a web interface so I can see the actual line rate the FTTC has trained up to. Both devices support "baby jumbo" frames of 1508 bytes, so I can get 1500-byte MTU IP even with PPPoE.

          Instead of a physical router, you could use a software router/firewall like pfSense to terminate the PPPoE session. This means that your public IP will be directly routed to that box, which is useful for port forwarding etc.

          1. Anonymous Coward
            Anonymous Coward

            Re: when in tandem...

            It looks only that some UK models (maybe others?) are, because on the main site it is sold as a modem/router

            https://www.draytek.com/en/products/products-a-z/router.all/vigor130/

            1. Lee D Silver badge

              Re: when in tandem...

              Draytek Vigor routers are fabulous. I have the 2860 - firmware updates all the time (with new features as well as bug fixes), certified compatible with BT fibre offerings (and ADSL2, and Ethernet, and 4G). Failover, IPv6, all kinds of internal options including web filters and DNS filters and LDAP authentication and AP isolation and dual-frequency radios (including handover between frequencies for compatible hardware), proper QoS, SIP handling (including analog ports that run over SIP on board), VLANs, and every option under the Sun.

              I run my house and a work site off them, they are just solid, fast and so featureful you'll spend your life reading the manual and going "I didn't realise I could do that!"

            2. John Crisp

              Re: when in tandem...

              As far as I remember the UK version of the V120/130 is just a dumb modem, but they market the 'same' model elsewhere in the globe which is actually a full blown router & firewall with an interface and functionality similar to its grown up brethren, albeit with a single port. Same box, totally different guts.

              So the UK gets the cheap dumb version for about the same price as everyone else gets a full on router (which can also do dumb pass through if required).

              I did ask a few times on their forums as to why the UK seemed to be being ripped off, but they deleted all my posts..... took it up with their tech dept too and just got fobbed off with marketing bullshit.

              Long time Draytek user, but after a number of issues I'll be shopping elsewhere when I upgrade.

              1. Phil Kingston

                Re: when in tandem...

                I was very pleased with the Vigour 130 I tried, the only issue being a ~10% sync speed drop compared to Broadcom-equipped modems on the same (VDSL) line. YMMV of course.

              2. defiler

                Re: when in tandem...

                Long time Draytek user, but after a number of issues I'll be shopping elsewhere when I upgrade.

                I've had a few problems with various Drayteks over the past six months too. It's got to the point where I flung VMware on an old(ish) PC and slapped Mikrotik CHR into a VM. Use the BT Openreach VDSL modem and it's cracking now.

                Draytek still does the wireless, so it was no great surprise (although a little disappointing) that Squeezer on my Android handset kept choking whilst trying to connect to Squeezebox Server last week. I guess I'll be in for a new access point soon too...

                1. Roland6 Silver badge

                  Re: when in tandem...

                  >Long time Draytek user

                  Suspect you may already be aware that Draytek have released updated firmware for many of their products, including legacy products, this month.

                  1. defiler

                    Re: when in tandem...

                    Draytek have released updated firmware

                    That's great, but I think the router is just broken. Not often a Draytek breaks, but it's not the first time either. I don't have Chromecast or similar in the house, and it was dropping out multiple times a day when I was the only person in the house and I was sitting running a Citrix session. Nothing taxing.

                    Anyway, Mikrotik is doing nicely for now, although the learning curve to set it up was steeped than Draytek :)

                    1. Roland6 Silver badge

                      Re: when in tandem...

                      >That's great, but I think the router is just broken.

                      Last week I resurrected a 'dead' Draytek (2710Vn); by replacing the power adaptor. It seems whilst the power adaptor was still working (and thus leading you to think it was the router that had failed) it would only supply power to a device only needing a max of 0.5A, the Draytek and it's up to 2.0A draw was too much for it.

        2. Stu J

          Re: when in tandem...

          Even better - go for the VigorBX 2000n...

          > in-built VDSL modem

          > 4G dongle backup option (if you want/need it)

          > VOIP PBX capability (it even supports your existing analogue line and phone, but the sound quality's a bit crappy - VOIP calls using a VOIP provider is perfect though)

          1. wobbly1

            Re: when in tandem...

            thanks all for the recommendations , had a Vigor single port router/ modem about 15 years ago , will be looking to use them again cheers ! :)

  7. Anonymous Coward
    Anonymous Coward

    Sounds like it is caching all the requests while it is sleeping

    Then sending them all out when it awakens. Must be fun for the people who rarely use it!

Page:

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like