So I managed to get the edge-impulse-linux working on coral edgetpu and I see the device in my devices dashboard
mendel@arid-ibis:~$ edge-impulse-linux
Edge Impulse Linux client v1.2.6
[SER] Using microphone hw:0,0
[SER] Using camera i.MX6S_CSI starting...
[SER] Connected to camera
[WS ] Connecting to wss://remote-mgmt.edgeimpulse.com
[WS ] Connected to wss://remote-mgmt.edgeimpulse.com
However when I try to get camera data I get:
[WS ] Incoming sampling request {
  path: '/api/training/data',
  label: 'edge-tpu-1',
  length: 60000,
  interval: 0,
  hmacKey: '0f5eda6c3f1cc8e5380fb619a6df620d',
  sensor: 'Camera (640x480)'
}
[WS ] Failed to sample data Timeout
Any idea what I could be doing wrong here? Some debugging info:
mendel@arid-ibis:~$ gst-device-monitor-1.0
Probing devices...
Device found:
	name  : i.MX6S_CSI
	class : Video/Source
	caps  : video/x-raw, format=(string)YUY2, width=(int)2592, height=(int)1944, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1;
	        video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 15/1, 30/1 };
	        video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
	        video/x-raw, format=(string)YUY2, width=(int)720, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
	        video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
	properties:
		udev-probed = true
		device.bus_path = platform-30a90000.csi1_bridge
		sysfs.path = /sys/devices/platform/30a90000.csi1_bridge/video4linux/video0
		device.subsystem = video4linux
		device.product.name = i.MX6S_CSI
		device.capabilities = :capture:
		device.api = v4l2
		device.path = /dev/video0
		v4l2.device.driver = mx6s-csi
		v4l2.device.card = i.MX6S_CSI
		v4l2.device.bus_info = platform:30a90000.csi1_bridge
		v4l2.device.version = 265826 (0x00040e62)
		v4l2.device.capabilities = 2216689665 (0x84200001)
		v4l2.device.device_caps = 69206017 (0x04200001)
	gst-launch-1.0 v4l2src ! ...
mendel@arid-ibis:~$ v4l2-ctl --list-formats-ext --device /dev/video0 
ioctl: VIDIOC_ENUM_FMT
	Type: Video Capture
	[0]: 'YUYV' (YUYV 4:2:2)
		Size: Discrete 640x480
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 720x480
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 1280x720
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 2592x1944
			Interval: Discrete 0.067s (15.000 fps)
		Size: Discrete 0x0
and
mendel@arid-ibis:~$ gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=1 ! video/x-raw ! videoconvert ! jpegenc ! multifilesink location=test%05d.jpg
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:02.587398250
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
outputs a valid test image file.
