macOS Tahoe - no more FireWire support?

I suppose the only real way to know is to install the beta, but I don’t wanna…

Did you ever reach out to Sonnet to see what they said?

1 Like

The short answer is, it’s broken. The long answer, I don’t have time to deal with now. Thanks, Apple.

In the insult to injury department, my scanner also has a USB interface that I literally have never tried to use until now. Yeah, it doesn’t work either.

I hardly know where to start with this, but I’m feeling like Ed Hamrick is a better bet than Apple or Sonnet, or Microtek.

Ed, of course, had the answer, but it wasn’t good. Firewire is dead, and Apple actually broke the USB port on my scanner, several revs ago, but since I wasn’t using it, I never noticed.

I’m considering a stripped down Sequoia-booting volume just for scanning. (As much as you can “strip down” a macOS install these days…)

Broke in what way?

If the scanner appears in System Information as a USB device of some kind, but you can’t scan, then alternative software (VueScan?) may be all you need.

If it doesn’t appear in System Information at all, then yes, the port is dead.

I’ve used Vuescan for over 20 years (because it always worked when others didn’t). The scanner does not appear in System Information via either USB or Firewire (under Tahoe).

Ed said, “Unfortunately, some changes Apple made to the USB subsystem in Mac OS X 10.11 and 10.12 broke support for the Microtek ScanMaker i900, along with most other Microtek scanners that have both USB and Firewire interfaces.”

He said he actually bought one on EBay to try to work-around what Apple had done, but wasn’t successful.

Weird. That tells me that this scanner isn’t properly implementing the USB protocol. It should appear as something, even if macOS can’t identify what that something is.

If you happen to have access to a Linux PC, can you connect it and use the lsusb command to see how it is identifying itself?

For example, here’s how I would do that to identify my flash card reader:

  1. Use lsusb -t to display the devices as a tree:
$ lsusb -t
/:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 2: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 2: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
    |__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
  1. Using that to identify the device in question (in the above case, the card reader is the mass-storage device on bus 4, port 2, device 2). You can then use the lsusb command with the -s bus:device option and the -v (verbose) option to display details about the device. Use sudo to run it as root in order to get all of its details:

In my example:

$ sudo lsusb -v -s 4:2
Bus 004 Device 002: ID 0644:0200 TEAC Corp. All-In-One Multi-Card Reader CA200/B/S
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0644 TEAC Corp.
  idProduct          0x0200 All-In-One Multi-Card Reader CA200/B/S
  bcdDevice            4.08
  iManufacturer           1 TEAC
  iProduct                2 CA-200
  iSerial                 3 00000306EF21
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0027
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
        DEVICE CLASS:  07 21 07 e8 03 fe ff
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

This is a massive amount of text, but some of the relevant lines include:

Device Descriptor:
  ...
  idVendor           0x0644 TEAC Corp.
  idProduct          0x0200 All-In-One Multi-Card Reader CA200/B/S
  iManufacturer           1 TEAC
  iProduct                2 CA-200
  ...
  Configuration Descriptor:
    ...
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
    ...
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      ...

In particular:

  • The idVendor, idProduct, iManufacturer and iProduct lines are how the device identifies itself
  • The bmAttributes and MaxPower lines show that this is a bus-powered device that is requesting up to 500mA of power
  • The bInterfaceClass, bInterfaceSubClass and bInterfaceProtocol are used to determine what kind of device it is - these are used to help an operating system identify generic device drivers, which can be used when device-specific drivers are unavailable (which is usually going to be the case for something generic like a memory card reader).

I would be very curious to see what Microtek’s scanner is advertising if macOS not only can’t use it, but can’t even recognize it as a valid device on the bus.

That is the implication. At any rate, the scanner is discontinued, and if Ed can’t fix it, no one else is even going to try.

Not sure if this is relevant but…

I have a Canon multifunction that I have been using for ages(10+ years) to scan receipts, invoices etc and I’ve always used Image Capture.

Recently my wife received some documents that needed signatures before sending back.

Image capture opened but after a while put up a message ‘Failed to open a connection to the device (-21345)’. I’ve just tried again - same result.

VueScan sees the scanner and scans fine.

I know I was able to use Image Capture before the last 15.6 update.

See if you can download an updated ICD driver from Canon. If not, see if you can (re-)install the most recent one available.

Im not fussed about it not working in IC as long as it still works in VueScan.

It just means I have to double check myself as up until this started happening VueScan was set up for scanning 35mm negs.

For most (but sadly, not all) scanners, VueScan doesn’t require any device drivers. I believe it accesses most of these scanners by directly communicating with it over its (USB or other) connection.

If your scanner is not documented as requiring vendor-supplied device drivers, it should just work. As long as low-level communication with it is possible.

The Microtek ScanMaker (mentioned above) is the real mess, since it doesn’t appear at all on the USB bus. Ordinarily, I’d assume that the scanner’s USB interface broke, but this appears to be an issue that everybody else is also seeing. Which seems to indicate (at least to me) that the scanner’s USB implementation was never fully compliant with the USB standard, but was working due to OS vendors’ device drivers permitting the non-compliance. I suspect that when macOS 10.12 broke it, they fixed a bug in the low-level USB system and non-compliant devices became inaccessible.

I’m actually not sure about that. I have several unidentified USB items. Have a memory that one disappeared when I pulled the Microtek cable. Nonetheless, their USB implementation is clearly to blame.

I have a Sequoia volume with Vuescan and Microtek working fine. Not spending anymore time with it.

Is there any reason Apple wouldn’t put a notice up on the screen when Tahoe becomes available, notifying you that you have a Firewire device connected which will stop working after upgrading to Tahoe? Are people supposed to find out the hard way unless they read TidBits?

One reason could be Apple phased out Mac Firewire ports over a decade ago. Another, related, reason is that Apple has always been aggressive about removing ports and changing connection protocols, leaving it to users to inform themselves and to adapt (see: 3.5mm headphone jacks, SCSI, floppy disks, optical drives, iPod sync cables, Thunderbolt…)

So, Apple’s view might be that a notification would confuse most users of current hardware and that the majority of people affected are hobbyists and tinkerers anyway.

With an M4 iMac, if I get an external SSD, install Sequoia on it, and use the required adapters, I could still use FireWire while booted from it, right?

It should. I briefly created a Sequoia partition on my internal drive before I backed out Tahoe, and Firewire worked. Just finally got fed up, and reverted completely to Sequoia. I’m using a Mac Studio M1 Ultra.

2 Likes

Thanks, Will! :smiley: