Hi, got a JS220, which has USB isolation for up to 48V to USB ground, as stated in the documentation. If I want higher isolation, I need a USB isolator. I tried the “Alldaq USB 3.0 superspeed isolator” (with external supply), but the joulescope won’t boot. The leds flash red and blue, but no solid green (or blue). Is that a bug, or should I go for other isolators, like the intona 7055-C? Anyone got a working setup?
MBP with MacOS 13.0.1 Intel
latest JS200 firmware.
Joulescope UI version 0.10.12
Joulescope driver version 1.0.11
Behaviour can also be repeated on a Windows 11 machine.
Identical setup.
Without the isolator: solid green with the joulescope software, solid blue without.
With the isolator: faint flashing of red, some blue flashes, but in the end: dark.
The isolator has been used frequently the past 2 years on USB 2.0 and 3.0 devices, mostly without problems. Will sniff the USB bus and the voltage, and contact alldaq.
My best guess is that the Joulescope is not getting enough current. I am not that familiar with the ALLDAQ isolator line, but I think some versions have a small internal isolated supply that cannot provide much current. You need to ensure that the isolated side can provide the full 500 mA @ 5 V to the connected Joulescope.
If you measure the USB VBUS voltage to the Joulescoe with your existing setup, I suspect that it drops well below 4.5V causing the Joulescope to brown-out reset.
no brown out. Even when sampled at 1MSa/s, no BW limit (200MHz), the minimum voltage is 4.92V. I suspect some incompatibility with the ADC-USB 3.0-ISO. Will contact alldaq, but maybe the below logs tell you something.
fyi, here are some USB dumps:
NOK ADC-USB 3.0-ISO and JS220:
error 10:01:59.475028+0100 kernel AppleIntelUSBXHCICommandRing: AppleUSBXHCICommandRing::waitForCommand: command 0x0000000000717000 0x0000000011002c01 got result 0x0000000000716550 0x0400000011008401 after 0ms
error 10:01:59.475055+0100 kernel AppleIntelUSBXHCICommandRing: AppleUSBXHCICommandRing::setAddress: completed with result code 4
error 10:01:59.475069+0100 kernel AppleIntelUSBXHCICommandRing: AppleUSBXHCICommandRing::waitForCommand: command 0x0000000000000000 0x0000000011013c01 got result 0x0000000000716560 0x0b00000011008401 after 0ms
error 10:01:59.475078+0100 kernel AppleIntelUSBXHCICommandRing: AppleUSBXHCICommandRing::stopEndpoint: completed with result code 11
default 10:01:59.475138+0100 kernel AppleUSB20HubPort@14311000: AppleUSBHostPort::createDevice: failed to create device (0xe00002bc)
default 10:01:59.475147+0100 kernel AppleUSB20HubPort@14311000: AppleUSB20HubPort::resetAndCreateDevice: failed to create device, disabling port
NOK ADC-USB 3.0-ISO and USB thumb drive:
error 10:03:33.429542+0100 kernel AppleIntelUSBXHCICommandRing: AppleUSBXHCICommandRing::waitForCommand: command 0x0000000000717000 0x000000001f002c01 got result 0x00000000007168d0 0x040000001f008401 after 0ms
error 10:03:33.429569+0100 kernel AppleIntelUSBXHCICommandRing: AppleUSBXHCICommandRing::setAddress: completed with result code 4
error 10:03:33.429584+0100 kernel AppleIntelUSBXHCICommandRing: AppleUSBXHCICommandRing::waitForCommand: command 0x0000000000000000 0x000000001f013c01 got result 0x00000000007168e0 0x0b0000001f008401 after 0ms
error 10:03:33.429590+0100 kernel AppleIntelUSBXHCICommandRing: AppleUSBXHCICommandRing::stopEndpoint: completed with result code 11
default 10:03:33.429651+0100 kernel AppleUSB20HubPort@14311000: AppleUSBHostPort::createDevice: failed to create device (0xe00002bc)
default 10:03:33.429660+0100 kernel AppleUSB20HubPort@14311000: AppleUSB20HubPort::resetAndCreateDevice: failed to create device, disabling port
OK ADC-USB 3.0-ISO and TTL232R-3V3:
error 10:17:06.733364+0100 kernel AppleUSBXHCIDevice: AppleUSBXHCIDevice::transferEvent: no endpoint 1 for event 0x00000000031c3c00 1b000000 3a018000
default 10:17:06.746181+0100 kernel AppleUSB20HubPort@14311000: AppleUSBHostPort::enumerateDeviceComplete_block_invoke: enumerated 0x0403/6001/0600 (TTL232R-3V3 / 58) at 12 Mbps
error 10:17:06.746232+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallback: controller <private> (XHC1) usbServiceArray <private>(count 1) options 0x00000000
error 10:17:06.746243+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallback: [0] <private>
error 10:17:06.746248+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: controller <private> (XHC1) usbService <private> (TTL232R-3V3) options 0x00000000
error 10:17:06.746280+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::getOrCreateLegacyControllerGated: located existing AppleUSBController@14000000
error 10:17:06.746288+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallGated: IOUSBHostDevice <private> (TTL232R-3V3)
error 10:17:06.746309+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::addDeviceToUsbPlane:
error 10:17:06.746929+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: usbServiceCallbackGated completed with 0x00000000 and service <private>
error 10:17:06.746973+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: registering TTL232R-3V3@14311000 (<private>) for matching
error 10:17:06.750608+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallback: controller <private> (XHC1) usbServiceArray <private>(count 1) options 0x00000000
error 10:17:06.750621+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallback: [0] <private>
error 10:17:06.750622+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: controller <private> (XHC1) usbService <private> (TTL232R-3V3) options 0x00000000
error 10:17:06.750993+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::getOrCreateLegacyControllerGated: located existing AppleUSBController@14000000
error 10:17:06.751007+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallGated: IOUSBHostInterface <private> (TTL232R-3V3)
error 10:17:06.751364+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: usbServiceCallbackGated completed with 0x00000000 and service <private>
error 10:17:06.751585+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: registering TTL232R-3V3@0 (<private>) for matching
error 10:17:06.753031+0100 com.apple.ifdreader Failed to find AppleUSBAlternateServiceRegistryID.
default 10:17:06.753452+0100 icdd Added | 0x1000020a - [USB][ TTL232R-3V3 ] ( 0, 0, 0) @ 0x14311000 |
error 10:17:06.756915+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::getOrCreateLegacyControllerGated: located existing AppleUSBController@14000000
error 10:17:06.757391+0100 kernel systemstats@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
default 10:17:06.759105+0100 kernel Driver com.apple.DriverKit-AppleUSBFTDI has crashed 0 time(s)
default 10:17:06.759126+0100 kernel DK: AppleUSBFTDI-0x1002186ed waiting for server com.apple.DriverKit.AppleUSBFTDI-1002186ed
default 10:17:06.760356+0100 kernelmanagerd Found 1 dexts with bundle identifier com.apple.DriverKit-AppleUSBFTDI
default 10:17:06.760483+0100 kernelmanagerd Using unique id 04a987a4a5d027e134984d2c864f43d6431ee3270693d1260cae663d1b9a2921 to pick dext matching bundle identifier com.apple.DriverKit-AppleUSBFTDI
default 10:17:06.767191+0100 kernelmanagerd Picked matching dext for bundle identifier com.apple.DriverKit-AppleUSBFTDI: Dext com.apple.DriverKit-AppleUSBFTDI v1 in executable dext bundle com.apple.DriverKit-AppleUSBFTDI at /System/Library/DriverExtensions/com.apple.DriverKit-AppleUSBFTDI.dext
default 10:17:06.767280+0100 kernelmanagerd Launching driver extension: Dext com.apple.DriverKit-AppleUSBFTDI v1 in executable dext bundle com.apple.DriverKit-AppleUSBFTDI at /System/Library/DriverExtensions/com.apple.DriverKit-AppleUSBFTDI.dext
default 10:17:06.771908+0100 kernel /System/Library/DriverExtensions/com.apple.DriverKit-AppleUSBFTDI.dext/com.apple.DriverKit-AppleUSBFTDI[6055] ==> com.apple.dext
default 10:17:06.772341+0100 kernelmanagerd Received kext load notification: com.apple.DriverKit-AppleUSBFTDI
default 10:17:06.774425+0100 kernel Found class: AppleUSBFTDI
default 10:17:06.774435+0100 kernel Found class: IOUserUSBSerial
default 10:17:06.774439+0100 kernel Found class: OSAction_IOUserUSBSerial_CompleteInterrupt
default 10:17:06.774441+0100 kernel Found class: OSAction_IOUserUSBSerial_CompleteTx
default 10:17:06.774445+0100 kernel Found class: OSAction_IOUserUSBSerial_CompleteRx
default 10:17:06.774461+0100 kernel Found class: IOUSBHostPipe
default 10:17:06.774463+0100 kernel Found class: IOUSBHostDevice
default 10:17:06.774466+0100 kernel Found class: IOUSBHostInterface
default 10:17:06.776555+0100 kernel DK: AppleUSBFTDI-0x1002186ed::start(TTL232R-3V3-0x1002186e9) ok
default 10:17:06.779390+0100 icdd Inferior | 0x1000020b - [USB][ TTL232R-3V3 ] (ff,ff,ff) @ 0x14311000 |
default 10:17:07.003091+0100 kernel Android File Tra@(null): AppleUSBHostUserClient::openGated: could not open provider TTL232R-3V3. provider already opened for exclusive access by Google Chrome
error 10:17:07.003537+0100 kernel airportd@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
error 10:17:07.004740+0100 kernel configd@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
error 10:17:07.005109+0100 kernel configd@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
default 10:17:14.483479+0100 ContinuityCaptureAgent <private> (2A6F657B-A190-4341-9A27-024621DD6A3D) RPError : USB inactive and WifiOff
OK direct JS220:
error 10:00:29.323323+0100 kernel AppleUSBXHCIDevice: AppleUSBXHCIDevice::transferEvent: no endpoint 1 for event 0x0000000000616a00 1b000000 02018001
default 10:00:29.329008+0100 kernel HS03@14300000: AppleUSBHostPort::enumerateDeviceComplete_block_invoke: enumerated 0x16d0/10ba/0000 (Joulescope JS220 / 2) at 480 Mbps
error 10:00:29.329049+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallback: controller <private> (XHC1) usbServiceArray <private>(count 1) options 0x00000000
error 10:00:29.329058+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallback: [0] <private>
error 10:00:29.329063+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: controller <private> (XHC1) usbService <private> (Joulescope JS220) options 0x00000000
error 10:00:29.329097+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::getOrCreateLegacyControllerGated: located existing AppleUSBController@14000000
error 10:00:29.329103+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallGated: IOUSBHostDevice <private> (Joulescope JS220)
error 10:00:29.329124+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::addDeviceToUsbPlane:
error 10:00:29.329700+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: usbServiceCallbackGated completed with 0x00000000 and service <private>
error 10:00:29.329715+0100 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: registering Joulescope JS220@14300000 (<private>) for matching
error 10:00:29.333842+0100 kernel configd@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
error 10:00:29.335037+0100 com.apple.ifdreader Failed to find AppleUSBAlternateServiceRegistryID.
default 10:00:29.335259+0100 icdd Added | 0x10000203 - [USB][ Joulescope JS220 ] ( 0, 0, 0) @ 0x14300000 |
default 10:00:29.586530+0100 kernel Google Chrome@(null): AppleUSBHostUserClient::openGated: could not open provider Joulescope JS220. provider already opened for exclusive access by Android File Tra
error 10:00:29.586654+0100 kernel airportd@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
default 10:00:29.587016+0100 kernel Google Chrome@(null): AppleUSBHostUserClient::openGated: could not open provider Joulescope JS220. provider already opened for exclusive access by Android File Tra
error 10:00:29.672457+0100 kernel systemstats@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
Hi @bateau - I don’t think I quite understand all the information you provided.
When you measured the USB VBUS voltage, were you measuring the voltage provided to the Joulescope JS220?
What are these logs? How do I go about capturing and viewing them on my macBook? Are they 4 different captures, one for each setup?
If so, it looks like the USB thumb drive had the same USB enumeration failure with the ALLDAQ isolator. Can you confirm that your ALLDAQ supports USB high-speed 480 Mbps communication? Note that this is different than SuperSpeed. Some isolators only support USB low-speed, full-speed, and superseded, no high-speed. These are all now old USB names…
Can you post a picture of the back of the isolator? Note that mine explicitly shows USB 2.0 and advertises High-Speed on the packaging:
I started with only USB-C power connected to the MacBook Pro. I then connected the ADQ-USB 3.0-ISO to the USB-C port using a StarTech high-speed USB C to USB B cable. I plugged in the ALLDAQ the wall adapter and connected to U_EXT. I then started Console logging as you directed, and connected the JS220:
error 11:12:14.367285-0500 kernel AppleUSBXHCIDevice: AppleUSBXHCIDevice::transferEvent: no endpoint 1 for event 0x000000000048ea00 1b000000 03018001
default 11:12:14.372123-0500 kernel AppleUSB20HubPort@14111000: AppleUSBHostPort::enumerateDeviceComplete_block_invoke: enumerated 0x16d0/10ba/0000 (Joulescope JS220 / 3) at 480 Mbps
error 11:12:14.372158-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallback: controller <private> (XHC1) usbServiceArray <private>(count 1) options 0x00000000
error 11:12:14.372164-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallback: [0] <private>
error 11:12:14.372169-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: controller <private> (XHC1) usbService <private> (Joulescope JS220) options 0x00000000
error 11:12:14.372191-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::getOrCreateLegacyControllerGated: located existing AppleUSBController@14000000
error 11:12:14.372198-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallGated: IOUSBHostDevice <private> (Joulescope JS220)
error 11:12:14.372215-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::addDeviceToUsbPlane:
error 11:12:14.372620-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: usbServiceCallbackGated completed with 0x00000000 and service <private>
error 11:12:14.372637-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: registering Joulescope JS220@14111000 (<private>) for matching
error 11:12:14.379343-0500 kernel configd@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
error 11:12:14.379971-0500 com.apple.ifdreader Failed to find AppleUSBAlternateServiceRegistryID.
error 11:12:14.390325-0500 kernel systemstats@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
default 11:12:14.428749-0500 icdd Added | 0x10000022 - [USB][ Joulescope JS220 ] ( 0, 0, 0) @ 0x14111000 |
error 11:12:14.625632-0500 kernel airportd@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
Works here Given that the USB flash drive also failed on your setup, I wonder if USB high-speed is not working for your setup? I happen to have a full-speed (not high-speed) USB hub. Here is what I see when I connect it on the device side of the isolator and then plug in the JS220:
error 11:22:35.427969-0500 kernel AppleUSBXHCIDevice: AppleUSBXHCIDevice::transferEvent: no endpoint 1 for event 0x000000000048ef00 1b000000 05018000
default 11:22:35.435062-0500 kernel AppleUSB20HubPort@14111100: AppleUSBHostPort::enumerateDeviceComplete_block_invoke: enumerated 0x16d0/10ba/0000 (Joulescope JS220 / 5) at 12 Mbps
error 11:22:35.435085-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallback: controller <private> (XHC1) usbServiceArray <private>(count 1) options 0x00000000
error 11:22:35.435090-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallback: [0] <private>
error 11:22:35.435092-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: controller <private> (XHC1) usbService <private> (Joulescope JS220) options 0x00000000
error 11:22:35.435108-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::getOrCreateLegacyControllerGated: located existing AppleUSBController@14000000
error 11:22:35.435111-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCallGated: IOUSBHostDevice <private> (Joulescope JS220)
error 11:22:35.435127-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::addDeviceToUsbPlane:
error 11:22:35.435444-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: usbServiceCallbackGated completed with 0x00000000 and service <private>
error 11:22:35.435456-0500 kernel AppleUSBLegacyRoot@(null): AppleUSBLegacyRoot::usbServiceCall: registering Joulescope JS220@14111100 (<private>) for matching
error 11:22:35.439167-0500 com.apple.ifdreader Failed to find AppleUSBAlternateServiceRegistryID.
default 11:22:35.477741-0500 icdd Added | 0x10000024 - [USB][ Joulescope JS220 ] ( 0, 0, 0) @ 0x14111100 |
error 11:22:35.689946-0500 kernel configd@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
error 11:22:35.690361-0500 kernel airportd@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
error 11:22:35.786119-0500 kernel systemstats@(null): AppleUSBHostUserClient::closeGated: trying to close a non-opened client
And the JS220 Controller Status LED is blue. Starting the Joulescope UI results in the LED going from solid blue to blinking red as the JS220 requires a high-speed connection, then back to blue.
Something is wrong with my USB isolator device probably. Tried multiple devices, only got 12Mbps and 5Gbps speeds working. Nothing 480Mbps. I will investigate on my side. Since the isolator circuitry is fairly simple, I might be able to repair this, if I find the time for it. Thanks for the help.
Looks like that chip is a ICE08USBA (wayback machine helps). But found no datasheet so far. Anyway, I am also having a hard time getting 3.0 devices to attach, so I might just give up and go for another isolator for the higher speeds.
The Intona 7055-D works, but with the following caveats:
provide external power (aux input), as joulescope draws more than the intona can provide without external power.
for the link of the computer to the intona, I found that USB 2 cables seem more stable. I have had a number of computer/hub ports unstable when using a seemingly good quality USB 3 cable. When failing, console says kernel AppleUSBXHCIRequest: AppleUSBXHCIRequest::finish: transfer completed with status 0xe00002ed
The latter might be interesting to look into. How can I debug that from joulescope?
Also, in Running Joulescope on high voltage I have seen that I’d need to bridge both sides of the joulescope to prevent more than 48V over it. The recommendations that were given for the JS110 also apply to the JS220?
It’s been a while since that project, and I’m happy to see that the -220 now has symmetrical voltage and current limits!
That makes it a lot more attractive to me. I think much of the recommendations still stand though.
I haven’t yet purchased a unit so can’t comment on the Intona issue.
The Joulescope JS220 does not even use the super-speed USB wires. It is a high-speed device only using the D+/D- pair. Using USB 3 cables adds no additional capability to the JS220. I wonder if the Intona isolator has some strange behavior that affects USB 2 high-speed enumeration.
I don’t have a great way to debug this since the USB connection is not operating. If you are feeling adventuresome, you could snoop the debug log UART output on J14.8:
For what it’s worth, the JS220 now autoranges on overflow in both positive and negative extremes. The JS220 may still downrange faster than you would like for an AC application. However, the JS220 hardware has room to add alternate autoranging methods in the future.
cannot edit my post anymore, so here is a follow-up:
Strike that, when replaced with a higher quality USB 3 cable (*), it was a lot more stable. Conclusion: Intona 7055-D works, but requires good quality cables. The 7055-C uses other circuitry, so might have different requirements.
(*) Went from a rather thick nameless USB 3.0 cable to a Lindy Anthra USB 3.2 cable. No doubt others will also do. Joulescope only needs USB 2, but I prefer to hook up the isolator to my computer in such a way that it is more versatile.