DIAG
Go to file
Bjorn Andersson cc5dc0dec3 peripherals: Create and use flow context
Introduce a flow control context per peripheral and pass this to
dm_broadcast() for data channels in order for any queued messages to be
accounted for in the flow control context.

Associate the same flow control context with the read watcher for the
peripheral's incoming data descriptors to make the watch runner
selectively read from the given peripheral only when the number of
outstanding, queued, messages are below the threshold.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2020-03-20 12:25:24 -07:00
doc doc: Add udev rules example 2018-01-23 17:08:43 -08:00
router peripherals: Create and use flow context 2020-03-20 12:25:24 -07:00
tools Fix build with musl 2018-09-25 14:01:54 -07:00
.gitignore diag: Restructure repository 2018-07-12 21:56:44 -07:00
LICENSE Update copyrights and add license file 2017-02-16 02:21:16 -08:00
Makefile build: Honor CFLAGS 2019-01-19 12:29:42 -08:00
README.md README: Configuration string should be diag_dun 2019-01-19 12:29:42 -08:00

DIAG

DIAG implements routing of diagnostics related messages between host and various subsystems.

USB Gadget

Ensure that your kernel is built with CONFIG_CONFIGFS_FS and CONFIG_USB_CONFIGFS_F_FS and that configfs is mounted in /sys/kernel/config.

G1="/sys/kernel/config/usb_gadget/g1"

mkdir $G1
mkdir $G1/strings/0x409
mkdir $G1/functions/ffs.diag
mkdir $G1/configs/c.1
mkdir $G1/configs/c.1/strings/0x409

echo 0xVID > $G1/idVendor
echo 0xPID > $G1/idProduct
echo SERIAL > $G1/strings/0x409/serialnumber
echo MANUFACTURER > $G1/strings/0x409/manufacturer
echo PRODUCT > $G1/strings/0x409/product
echo "diag_dun" > $G1/configs/c.1/strings/0x409/configuration
ln -s $G1/functions/ffs.diag $G1/configs/c.1

mkdir /dev/ffs-diag
mount -t functionfs diag /dev/ffs-diag

diag-router &

sleep 1

echo 6a00000.dwc3 > $G1/UDC