-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
The short version is that I'm trying to use a Mitsubishi CP-D80DW printer with an RPi. Then transferring the bulk image data to the printer, the transfer breaks fairly early on (eg in the first 128K or so of ~16MB).
I'm personally using FedBerry (Fedora remix), but this has been reported to me on official Raspbian images too. Interestingly, this problem does not appear to happen on the RPi2 (w/ same kernel rev).
Kernel: 4.9.24-rpi1 (ie Fedora 25 kernel plus all upstream RPi patches)
Firmware: 20170304-1.509beaaa
(This was originally reported to me by a raspbian user, using an official 4.4.38-v7+ RPi kernel, unknown firmware rev. So it's not due to anything special about my setup)
The only thing plugged into the USB ports is the printer itself. (I'm logging in via ssh over the device's wifi adapter)
Bus 001 Device 021: ID 06d3:3b36 Mitsubishi Electric Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Here's the kicker: If I plug an cable into the ethernet port, I am able to print successfully every time. Note, it's just the physical link that matters, and it doesn't matter if the ethernet interface is "down" or "up" (ie "ifconfig eth0 down") or not, or if there's anything else plugged into the switch (eg a DHCP server or something) -- just whether or not a cable is plugged in.
I have access to a USB protocol analyzer. A quick sniff with the ethernet cable plugged in showed everything working okay, but when the cable was unplugged, the sniff log was overflowing with PING/NAK messages. Over the next couple of days I'll see if I can get a minimal sniff that still demonstrates what's going on, but I can only interpose it between external devices (ie the printer), not the SoC and the RPi hub+ethernet controller.
Incidently, I also have many reports of the Mitsubishi CP-D70DW failing spectacularly on RPI1, 2, and 3 boards. However, using an RPi0 and a generic USB hub, the printer reportedly works.
So there's something funky going on with the SMSC9514 ethernet/hub controller and/or its driver. A physical ethernet link shouldn't cause ripple effects on the rest of the system!