Closed alesandar closed 1 year ago
Hi,
Thanks for your report.
The last thing I did was to compare my current configuration ROM with yours and all I can say is that they differ from each other.
The content of attached configuration ROM is for 1394 OHCI controller. When compiling and install linux-firewire-utils, you can use config-rom-pretty-printer
program[1] to dump it, like:
$ cat FCA1616_config_rom.img | config-rom-pretty-printer
ROM header and bus information block
-----------------------------------------------------------------
1024 04047d6a bus_info_length 4, crc_length 4, crc 32106
1028 31333934 bus_name "1394"
1032 f000a222 irmc 1, cmc 1, isc 1, bmc 1, pmc 0, cyc_clk_acc 0,
max_rec 10 (2048), max_rom 2, gen 2, spd 2 (S400)
1036 3c970eff company_id 3c970e |
1040 eb2cf3ff device_id 1099162252287 | EUI-64 4365974856084026367
root directory
-----------------------------------------------------------------
1044 00051b70 directory_length 5, crc 7024
1048 0c0083c0 node capabilities: per IEEE 1394
1052 03001f11 vendor
1056 81000003 --> descriptor leaf at 1068
1060 17023901 model
1064 81000008 --> descriptor leaf at 1096
descriptor leaf at 1068
-----------------------------------------------------------------
1068 00064cb7 leaf_length 6, crc 19639
1072 00000000 textual descriptor
1076 00000000 minimal ASCII
1080 4c696e75 "Linu"
1084 78204669 "x Fi"
1088 72657769 "rewi"
1092 72650000 "re"
descriptor leaf at 1096
-----------------------------------------------------------------
1096 0003ff1c leaf_length 3, crc 65308
1100 00000000 textual descriptor
1104 00000000 minimal ASCII
1108 4a756a75 "Juju"
I guess that it was retrieved from /dev/fw0
, while typically /dev/fw1
is added to system for any node in the bus. Would I ask you to check whether the character device is created or not?
[1] The original implementation is written in Python 2 by Clemens Ladisch's linux-firewire-utils, but I rewrite it in C language when pushing to git.kernel.org to simplify dependency so that packaging is easier in major Linux distribution.
The content of attached configuration ROM is for 1394 OHCI controller. When compiling and install linux-firewire-utils, you can use config-rom-pretty-printer program[1] to dump it...
Nice tip, thank you.
I guess that it was retrieved from /dev/fw0, while typically /dev/fw1 is added to system for any node in the bus. Would I ask you to check whether the character device is created or not?
That's right, the ROM was retrieved from /dev/fw0
, because /dev/fw1
was not present at all.
/dev/fw1
was not present at all.
It means that the node on your device does not appears in IEEE 1394 bus yet.
As long as I know, the combination of DIGITAL SELECT
button and powering switches bus mode between USB 2.0 and IEEE 1394. Let you manage to switch the mode before inserting IEEE 1394 plug.
Regards
As long as I know, the combination of DIGITAL SELECT button and powering switches bus mode between USB 2.0 and IEEE 1394. Let you manage to switch the mode before inserting IEEE 1394 plug.
Wow, it worked. Quite unbelievable why Behringer chose a similar procedure for a device that lacks a physical power button.
Here is what I did:
DIGITAL SELECT
buttonNote that it was not necessary to remove the FireWire cable.
I will open a new issue if something weird happens while I am testing the performance of the interface with your driver. Thanks you for your assistance.
Regards
Wow, it worked.
Sounds good.
Quite unbelievable why Behringer chose a similar procedure for a device that lacks a physical power button.
Aha. I suggested based on my FCA610, while FCA1616 has no physical power button.
I will open a new issue if something weird happens while I am testing the performance of the interface with your driver.
In my TODO list, FCA1616 does not have protocol implementation in snd-firewire-ctl-service yet. I guess that the unit can switch source signal for sampling clock, while it is not so urgent.
I'm pleased if you retrieve some logs when I prepare for it.
Thanks
In my TODO list, FCA1616 does not have protocol implementation in snd-firewire-ctl-service yet. I guess that the unit can switch source signal for sampling clock, while it is not so urgent.
Yes, the digital clock parameter is exposed by ALSA (if connected over USB). I think it was the only "writable" parameter.
I'm pleased if you retrieve some logs when I prepare for it.
It might be nice if you create a new issue in snd-firewire-ctl-services and tag me (whenever you are ready). I find your work more than valuable and will be really happy to help out.
I have used an FCA1616 exclusively over USB for more than one year, but just decided to see how it will perform over FireWire, since I relied on
snd-motu
(with MOTU 828mk3) in the past, while using the same laptop and the same FireWire chipset.Hardware/software details about my current setup:
```yaml laptop model: ThinkPad W530 integrated firewire controller: Ricoh Co Ltd R5C832 operating system: Arch Linux kernel version: 6.3.3.15.realtime2-1-rt ```It looks like
snd-bebob
was not loaded automatically after hot-plugging the device and I am sure that it is not blacklisted. However,firewire_core
successfully detected a new device and this is the only relevant system log after the hot-plug:What I tried to do next was to load
snd-bebob
manually by running$ sudo modprobe -vv snd-bebob
, which returns this:I have collected the attribute/value pairs for some of the relevant kernel modules and here is the output for each one of them:
$ systool -vm firewire_core
```yaml Module = "firewire_core" Attributes: coresize = "106496" initsize = "0" initstate = "live" refcnt = "3" srcversion = "67F2C7904F3BB92B859573B" taint = "" uevent =$ systool -vm firewire_ohci
```yaml Module = "firewire_ohci" Attributes: coresize = "61440" initsize = "0" initstate = "live" refcnt = "0" srcversion = "E7A9075D5DE58FF3D1F1086" taint = "" uevent =$ systool -vm snd_firewire_lib
```yaml Module = "snd_firewire_lib" Attributes: coresize = "69632" initsize = "0" initstate = "live" refcnt = "1" srcversion = "2A86CB007524F713701FEFE" taint = "" uevent =$ systool -vm snd_bebob
```yaml Module = "snd_bebob" Attributes: coresize = "65536" initsize = "0" initstate = "live" refcnt = "0" srcversion = "67917B5F2F6555E7722E386" taint = "" uevent =The last thing I did was to compare my current configuration ROM with yours and all I can say is that they differ from each other.