5 ms·
I lost a good two hours the other day on an insufficiently documented device, looking for a way to flash a new firmware onto it. dmesg was absolutely silent a
by lgeorget 26d ago
I lost a good two hours the other day on an insufficiently documented device, looking for a way to flash a new firmware onto it.
dmesg was absolutely silent about it when I plugged in or out my C-C USB cable although the device switched on when I was using a simple charger instead. I opened it up to see if there was a special switch or something to put it in firmware flashing mode, to no avail. The little documentation I had only mentioned using one of the USB port.
In the end, out of ideas, I switched cables (even though I knew my cable was perfectly fine). As soon as I plugged in a A-C USB cables, everything worked immediately...
- criddell 26d agoWhat was the device? Somebody experiencing the same problem might appreciate the tip.
- seba_dos1 25d agoThere's all sorts of cheap devices like that out there that merely have a Type C-shaped receptacle that doesn't actually implement Type C because they couldn't bother to place two resistors on the board.
- lgeorget 25d agoIt's the LTS5 from Dragino, a LoRa touchscreen: https://docs.dragino.com/docs/LoRaWAN-End-Node/lora-modules-accessories/lts5/ https://docs.dragino.com/docs/LoRaWAN-End-Node/lora-modules-.... And for the record, I'm extremely happy with all their other products, which are all open-firmware, open-hardware, etc. and excellent quality. Plus they're super responsive. It's just this particular product which has this weird issue.
- mort96 25d agoIMO it's a huge failure of the USB-C standard that to a USB 2 only device, a C-C cable looks different to an A-C cable. It's the cause of so many issues of the kind, "it works when I use a different cable" or "it works with this power supply but not that power supply". I understand why something needs the ability to check, but when not doing anything special to detect USB-C capabilities, they should be identical.
- crote 25d ago> to a USB 2 only device, a C-C cable looks different to an A-C cable It does not. The vast majority of sinks have absolutely no knowledge of the cable used. This is literally device engineers not bothering to read any part of the USB-C spec, or intentionally leaving out a $0.0003 part. And no, that's not a typo - I really do mean "50k unit reel for $15".
- mort96 25d agoI know how cheap resistors are. I design PCBs as a hobby and occasionally semi-professionally. Leaving off parts should result in behavior which is identical whether you connect an A-C cable or a C-C cable. Detecting the difference between them should require adding parts.
- crote 25d agoThere is nothing to detect on the sink side, for basic operation. All the smarts are in the power source. It's like saying USB cables should still carry 10Gbps data when only the VBUS and GND wires are present, because some AliExpress scammers leave out the data wires: you can't leave out trivial core parts and still expect it to work!
- mort96 25d ago> There is nothing to detect on the sink side, for basic operation. I know. You need the detection for the fancy stuff like PD, not for basic operation. So why does it matter that a resistor is missing on the sink side? It's stupid.
- seba_dos1 25d agoYou already got the answer spelled out several times here in this thread.
- Ajedi32 25d agoIt is needed for basic operation, because unlike with a A-to-B cable, power bricks plugged into a USB-C cable have no way of knowing whether the other side is also a power supply that will short out if you try to feed it power instead of drawing power from it. A couple resistors in the sink is probably the cheapest possible way of signaling this information to the supply. This isn't PD, it's just a basic requirement to allow having the same connector on both ends of the cable.
- genxy 25d agoThe A-C cable is new the mini-usb cable. I keep a couple magic cables in the tool box with a big flag of tape on it so it doesn't disappear into the gyre.