M300 Advanced Sensing initialization error
Hello,
We are using an iCrest 2 from GeoAI to connect to an M300 over the USB C cable interface built onto the iCrest. We are able to access the device on /dev/ttyTHS1 and the ACM port on /dev/ttyTHS4. However, when trying to access the livestream of an H20T we get errors when initializing Advanced Sensing. The program is executed as root.
sudo ./camera-stream-callback-sample UserConfig.txt
Please enter the type of camera stream you want to view
m: Main Camera
f: FPV Camera
m
Read App ID
User Configuration read successfully.
[2736516.909]STATUS/1 @ getDroneVersion, L1702: ret = 0
[2736516.909]STATUS/1 @ parseDroneVersionInfo, L1122: Device Serial No. = *************LY0
[2736516.909]STATUS/1 @ parseDroneVersionInfo, L1124: Firmware = 3.4.18.1
[2736516.909]STATUS/1 @ functionalSetUp, L279: Shake hand with drone successfully by getting drone version.
[2736516.910]STATUS/1 @ legacyX5SEnableTask, L56: Legacy X5S Enable task created.
[2736517.910]STATUS/1 @ sendHeartbeatToFCTask, L1576: OSDK send heart beat to fc task created.
[2736518.110]STATUS/1 @ Control, L40: The control class is going to be deprecated.It will be better to use the FlightController class instead!
[2736518.111]STATUS/1 @ FileMgrImpl, L253: register download file callback handler successfully.
[2736519.381]STATUS/1 @ Firewall, L45: Firewall is initializing ...
[2736519.382]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736521.387]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736523.393]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736525.398]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736527.402]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736529.406]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736531.410]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736533.417]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736535.426]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736537.433]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736539.441]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736541.447]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736543.454]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736545.463]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736547.468]STATUS/1 @ Firewall, L65: osdk policy file updating(1) ......
[2736549.477]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736550.477]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736551.478]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736552.478]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736553.478]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736554.479]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736555.479]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736556.479]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736557.480]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736558.480]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736559.481]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736560.481]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736561.481]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736562.481]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736563.482]STATUS/1 @ Firewall, L73: osdk policy file updating(2) ......
[2736564.482]STATUS/1 @ firewallTask, L112: firewall task created ...
[2736564.488]STATUS/1 @ getDroneVersion, L1702: ret = 0
[2736564.488]STATUS/1 @ parseDroneVersionInfo, L1122: Device Serial No. = *************LY0
[2736564.488]STATUS/1 @ parseDroneVersionInfo, L1124: Firmware = 3.4.18.1
[2736564.501]ERRORLOG/1 @ AdvancedSensing, L108: Failed to initialize USB Bulk Linker channel for liveview!
[2736564.501]ERRORLOG/1 @ AdvancedSensing, L115: Failed to create task for liveview!
[2736564.502]ERRORLOG/1 @ AdvancedSensing, L123: Failed to initialize USB Bulk Linker channel for perception!
[2736564.502]ERRORLOG/1 @ AdvancedSensing, L130: Failed to create task for advanced sensing!
[2736564.502]STATUS/1 @ AdvancedSensing, L135: Advanced Sensing init for the M300 drone
[2736564.502]STATUS/1 @ LiveViewImpl, L89: Finding if liveview stream is available now.
[2736565.302]STATUS/1 @ init, L254: Start advanced sensing initalization
[2736565.303]STATUS/1 @ activate, L1329: version 0x3041201
[2736565.327]STATUS/1 @ activate, L1367: Activation successful
[2736565.698]STATUS/1 @ firewallTask, L121: Requesting update policy ...
STATUS/1All components for decoding initialized ...
STATUS/1User callback thread created successfully!
STATUS/1****** Decoder Callback Thread Start ******
[2736567.593]STATUS/1 @ getCameraList, L218: [2736567.706]STATUS/1 @ firewallTask, L121: [2736569.712]STATUS/1 @ firewallTask, L121: [2736569.863]STATUS/1 @ getCameraList, L235: [2736569.863]STATUS/1 @ getCameraList, L236: [2736569.863]STATUS/1 @ getCameraList, L237: [2736569.863]ERRORLOG/1 @ startH264Stream, L459: Failed to open selected camera
[2736569.886]STATUS/1 @ verify, L244: [2736569.905]STATUS/1 @ reset, L551: STATUS/1Decoder Callback Thread Stopped...
[2736571.577]STATUS/1 @ ~AdvancedSensing, L186: Destroy task for M300's liveview!
Segmentation fault
There is no "/dev/ttyUSB0" or "/dev/ttyACM0". This is the UserConfig.txt:
app_id : *******41
app_key : {app_key}
device : /dev/ttyTHS1
baudrate : 230400
acm_port : /dev/ttyTHS4
How can we resolve this issue to obtain the video feed from the H20T mounted on the M300?
Agent comment from kyle.cai in Zendesk ticket #69261:
The dual A USB of the M300 and the onboard computer will use the ACM port and bulk channel. The error message shows that the bulk startup failed. Please try to check your dual A USB connection.

image.png
°°°