• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Getting G3 Whisper Perch USB working

Phipli

Well-known member
PCB.png

The attached zip is a gimp edit file with layers so you can turn them on and off.
 

Attachments

  • PCB.zip
    81.4 KB · Views: 2

Phipli

Well-known member
Do you mean to update my schematic with what I’ve added since your suggestions?
If you could put all the components you added on it, like the capacitors around the main chip etc, then I can mark what I think they should be.

Is VCC3 showing 3.3V? Are you able to check?
 

cheesestraws

Well-known member
One other thing to check: the whole mouse thing sounds rather like signal integrity issues to me, at a wild guess. The instructions in the application note for the chip say to make sure that the 24MHz is kept away (unspecified amount of 'away' though) from D-/D+. Might be worth checking you haven't parked the crystal on top of them or anything...
 

croissantking

Well-known member
One other thing to check: the whole mouse thing sounds rather like signal integrity issues to me, at a wild guess. The instructions in the application note for the chip say to make sure that the 24MHz is kept away (unspecified amount of 'away' though) from D-/D+. Might be worth checking you haven't parked the crystal on top of them or anything...
It's a 48Mhz part I've used. It is away from the data lines. Interesting that the data lines on the personaity card don't have guard traces either side as in the reference design?
 

croissantking

Well-known member
If you could put all the components you added on it, like the capacitors around the main chip etc, then I can mark what I think they should be.

Is VCC3 showing 3.3V? Are you able to check?
Yes, VCC3 is at 3.3V. Is my diode at D2 the right way round? Cause it’s not labelled on the PCB.
 

croissantking

Well-known member
Here's the errors that happen with the wireless mouse connected (it does work though):

21.259: Expert - Initializing disk based USB Expert 1.5.5
21.978: [ 123456789]: UIM - Power manager does not do wake functions 0
22.590: [ 0]: USL - ctlPktHandler, ********** unqueued does not match 65535
22.590: [ 0]: USL - ctlPktHandler pb 624192
22.590: [ 0]: USL - ctlPktHandler pbq 0
22.590: [ 123456789]: UIM - UIMEndpointDelete: Could not find endpoint -6987
23.058: [ 75575951]: Expert - LoadClassDriver: USBHub1Apple - calling driver initialize routine... 0
23.058: [ 75575951]: Expert - LoadClassDriver: USBHub1Apple - driver initialization completed 0
23.059: [ 75575951]: Driver - Externally powered Hub attached - power supply good 0
24.192: [ 0]: Expert - Bus Enumeration using disk-based drivers (mSec): 1616--------------------------------
--------------------------------

482.281: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.281: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.282: [ 75575951]: Driver - Hub driver - port status is good 0
482.282: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.315: [ 0]: USL - Stalling pipe 1174715909
482.315: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.315: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.315: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.316: [ 75575951]: Driver - Hub driver - port status is good 0
482.316: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.347: [ 0]: USL - Stalling pipe 1174715909
482.347: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.347: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.347: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.348: [ 75575951]: Driver - Hub driver - port status is good 0
482.348: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.381: [ 0]: USL - Stalling pipe 1174715909
482.381: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.381: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.382: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.382: [ 75575951]: Driver - Hub driver - port status is good 0
482.382: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.414: [ 0]: USL - Stalling pipe 1174715909
482.414: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.414: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.414: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.415: [ 75575951]: Driver - Hub driver - port status is good 0
482.415: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.439: [ 0]: USL - Stalling pipe 1174715909
482.439: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.439: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.439: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.440: [ 75575951]: Driver - Hub driver - port status is good 0
482.440: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.465: [ 0]: USL - Stalling pipe 1174715909
482.465: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.465: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.465: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.466: [ 75575951]: Driver - Hub driver - port status is good 0
482.466: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.489: [ 0]: USL - Stalling pipe 1174715909
482.489: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.489: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.490: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.490: [ 75575951]: Driver - Hub driver - port status is good 0
482.490: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.541: [ 0]: USL - Stalling pipe 1174715909
482.541: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.541: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.542: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.542: [ 75575951]: Driver - Hub driver - port status is good 0
482.542: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.573: [ 0]: USL - Stalling pipe 1174715909
482.573: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.573: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.574: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.574: [ 75575951]: Driver - Hub driver - port status is good 0
482.574: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.607: [ 0]: USL - Stalling pipe 1174715909
482.607: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.607: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.608: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.608: [ 75575951]: Driver - Hub driver - port status is good 0
482.608: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.639: [ 0]: USL - Stalling pipe 1174715909
482.639: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.639: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.639: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.640: [ 75575951]: Driver - Hub driver - port status is good 0
482.640: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.673: [ 0]: USL - Stalling pipe 1174715909
482.673: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.673: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.673: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.674: [ 75575951]: Driver - Hub driver - port status is good 0
482.674: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.705: [ 0]: USL - Stalling pipe 1174715909
482.705: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.705: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.705: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.706: [ 75575951]: Driver - Hub driver - port status is good 0
482.706: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.731: [ 0]: USL - Stalling pipe 1174715909
482.731: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.731: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.732: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.732: [ 75575951]: Driver - Hub driver - port status is good 0
482.732: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.782: [ 0]: USL - Stalling pipe 1174715909
482.782: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.782: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.782: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.783: [ 75575951]: Driver - Hub driver - port status is good 0
482.783: [-1744499709]: Driver - USBHIDDriver: port status transient error, restarting -1744499709
482.798: [ 0]: USL - Stalling pipe 1174715909
482.798: [-1744499709]: Fatal Error: USBHIDDriver: Error during kReadInterruptPipe, -6911, 15
482.798: [-1744499709]: Driver - USBHIDDriver: doing port status -1744499709
482.799: [ 75575951]: Driver - Hub driver - getting port status for child -1744500480
482.799: [ 75575951]: Driver - Hub driver - port status is good 0
--------------------------------

Here's what happens when a USB card reader is connected, which causes the port to become non-functional requiring a system restart.

773.835: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
773.936: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
774.042: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
774.144: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
774.243: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
774.344: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
774.444: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
774.544: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
774.644: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
774.745: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
774.850: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
775.117: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
775.218: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
775.318: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
775.418: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
775.519: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
775.620: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
775.720: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
775.821: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
775.920: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
776.021: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
776.121: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
776.221: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
779.023: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
779.125: [ 0]: USL - processDelayQ delayQueueChanged, breaking 0
 
Last edited:

mg.man

Well-known member
I wish I had a card like @Fizzbinn's - it's very similar to the design we're heading towards.
Well, it's not a Keyspan (although, I might have one of those somewhere 🤔), but what I do have to hand is this:
20230322_210021.jpg
20230322_210118.jpg
...which seems to also be a pretty simple implementation.
 

croissantking

Well-known member
Just to check I am OK testing the card without the backplate fitted? Just noticed that the ground plane goes to the screw mounts of said backplate.
 

Phipli

Well-known member
Swapping in a 470pF cap at C113 has stopped the USB working completely. Are you sure this is the right value?
Not sure, but fairly sure. We are trying to work out values for a design we don't have based on designs that aren't quite the same.

Looking at the design, in this instance I don't think switching in that 470pF cap caused the issue you described.
 

croissantking

Well-known member
Okay, here's the latest update after having worked on the board some more - it's all good news.

I can now plug my Logitech Unifying Receiver into the side of the Apple keyboard, and both the mouse (MX Master 2S) and keyboard work together perfectly in tandem. This is a big improvement as before, the side ports didn't work.

The scanner (CanoScan n1220u) now makes noises. After plugging in, I can try to load the scanning software and the scanner tries to initialise (the carriage moves). However, the message that the scanner could not be found pops up, and that's the end of the show. Good news is that I can unplug the scanner and plug something else back in, whereas previously the scanner would hang up the USB bus completely.

The card reader still does not seem to work, it's detected as a device but it will not mount my CF card. However, as with the scanner, it also no longer hangs up the bus as it did before.

Plugging in a USB 3.0 External HDD (An OWC Mercury OTG with 1.5GB SATA HDD) causes a sudden restart of the system. Just before restart, I see that the volume changes (with an indicator on-screen like you'd see if you pushed up or down on the volume of a PowerBook, and an alert sound). The drive does spin up, however.
 
Last edited:

croissantking

Well-known member
I've ordered that LCR-T4 component tester and I'll be going over all my caps to check their values, as some of them might be a little off.

What do you guys think?
 

croissantking

Well-known member
Tried another USB hard drive (an old Seagate control board with a WD drive I have laying about) and it works great copying files both ways under 9.2.2 and 10.2.8. Sometimes, like 1/3rd of the time, it causes a sudden restart when plugging in. Maybe it's drawing too much power.
 
Top