Ticket #340 (new bug)

Opened 13 years ago

Last modified 12 years ago

Tascam IF-FW/DM ffado-test Discover has no output

Reported by: yellius Assigned to: arnonym
Priority: waiting for device info Milestone: Indeterminant (need device info)
Component: ffado-mixer Version: FFADO SVN (trunk)
Keywords: ffado-mixer, ffado-test, test-ffado, tascam, iffwdm Cc:
The device the bug applies to:

Description

When trying to obtain the AvcModel? (http://subversion.ffado.org/wiki/ObtainingAvcModel) for the Tascam there is no output:

jelle@ubuntu-studio:~/src/ffado-svn/tests$ ffado-test -v5 Discover
-----------------------------------------------
FFADO test and diagnostic utility
Part of the FFADO project -- www.ffado.org
Version: 2.999.0-1985M
(C) 2008, Daniel Wagner, Pieter Palmers
This program comes with ABSOLUTELY NO WARRANTY.
-----------------------------------------------

05519510321: Warning (ieee1394service.cpp)[ 375] initialize: Could not set SPLIT_TIMEOUT to min requested (500000)
05519510398: Warning (ieee1394service.cpp)[ 379] initialize: Set SPLIT_TIMEOUT to min requested (500000) did not succeed
no message buffer overruns

While the device is found:

jelle@ubuntu-studio:~/src/ffado-svn/tests$ ffado-test -v6 ListDevices
-----------------------------------------------
FFADO test and diagnostic utility
Part of the FFADO project -- www.ffado.org
Version: 2.999.0-1985M
(C) 2008, Daniel Wagner, Pieter Palmers
This program comes with ABSOLUTELY NO WARRANTY.
-----------------------------------------------

=== 1394 PORT 0 ===
  Node id  GUID                  VendorId     ModelId   Vendor - Model
   0       0x00022e20a7234da4  0x0000022E  0x00010067   Tascam - IFFWDM
05709117519: Error (configrom.cpp)[ 150] initialize: Could not parse config rom of node 1 on port 0
no message buffer overruns

Attachments

config_rom (136 bytes) - added by yellius on 07/25/11 11:26:20.
config_rom from /sys/bus/firewire/devices/fw* belonging to the IF-FW/DM

Change History

07/25/11 10:23:58 changed by stefanr

Please go into /sys/bus/firewire/devices, identify which of the fw* directories in there belong to the IF-FW/DM, and attach the binray file "config_rom" from there to this ticket.

07/25/11 11:26:20 changed by yellius

  • attachment config_rom added.

config_rom from /sys/bus/firewire/devices/fw* belonging to the IF-FW/DM

(follow-up: ↓ 3 ) 07/25/11 11:27:21 changed by yellius

Stefan, I have attached the file, hope it makes sense to you. Cheers

(in reply to: ↑ 2 ) 07/26/11 00:10:56 changed by stefanr

$ crpp < config_rom

               ROM header and bus information block
               -----------------------------------------------------------------
400  04214f3d  bus_info_length 4, crc_length 33, crc 20285
404  31333934  bus_name "1394"
408  f0646122  irmc 1, cmc 1, isc 1, bmc 1, pmc 0, cyc_clk_acc 100,
               max_rec 6 (128), max_rom 1, gen 2, spd 2 (S400)
40c  00022e20  company_id 00022e     | TEAC Corp. R& D
410  a7234da4  device_id 20a7234da4  | EUI-64 00022e20a7234da4

               root directory
               -----------------------------------------------------------------
414  0008e1c5  directory_length 8, crc 57797
418  04000088  hardware version
41c  0c0083c0  node capabilities per IEEE 1394
420  03010065  vendor
424  8100000a  --> descriptor leaf at 44c
428  17010067  model
42c  8100000d  --> descriptor leaf at 460
430  13101300  version
434  d1000001  --> unit directory at 438

               unit directory at 438
               -----------------------------------------------------------------
438  0004e8a9  directory_length 4, crc 59561
43c  1200a02d  specifier id: 1394 TA
440  13010001  version: AV/C
444  17010067  model
448  8100000b  --> descriptor leaf at 474

               descriptor leaf at 44c
               -----------------------------------------------------------------
44c  0004455c  leaf_length 4, crc 17756
450  00000000  textual descriptor
454  00000000  minimal ASCII
458  54617363  "Tasc"
45c  616d0000  "am"

               descriptor leaf at 460
               -----------------------------------------------------------------
460  0004bd96  leaf_length 4, crc 48534
464  00000000  textual descriptor
468  00000000  minimal ASCII
46c  49464657  "IFFW"
470  444d0000  "DM"

               descriptor leaf at 474
               -----------------------------------------------------------------
474  0004bd96  leaf_length 4, crc 48534
478  00000000  textual descriptor
47c  00000000  minimal ASCII
480  49464657  "IFFW"
484  444d0000  "DM"

This looks OK. There is a little twist here which may cause confusion. Tascam evidently did not register an OUI-24 with IEEE. The Configuration ROM contains TEAC's registered OUI-24 in the three high bytes of the EUI-64 in the bus information block and another, unregistered OUI-24 in the vendor ID entry of the root directory. Of course ffado-test does not care or even know whether an OUI-24 is registered or not. I find it also unlikely that different IDs in the bus info block and root directory throw it off, but we should double-check this in the code...

07/26/11 02:36:06 changed by cladisch

Tascam is TEAC.

The vendor ID in the root directory looks similar to the model ID, so I'd guess they just didn't realize that this must be an OUI and invented their own.

FFADO always use the vendor ID from the BIB. libieee1394/configrom.h has this:

    // FIXME: isn't this the same as getNodeVendorId?
    const unsigned int getVendorId() const;

but getVendorId() is actually never used.

Isn't "Could not parse config rom" typically a permission problem? yellius, what are the permissions on /dev/fw*?

07/26/11 06:13:42 changed by stefanr

Indeed, Tascam is a trademark of TEAC Corporation.

There is not a permission problem though, cf. the description of the ticket. Insufficient permissions would result in a "initialize: No firewire adapters (ports) found" message in ffado-test Discover.

07/26/11 12:26:27 changed by yellius

Indeed, it's not a permissions problem. Does it make sense to you that /sys/*/fw* gives a different vendor_id than ffado-test -v6 ListDevices??

If you can advice which id's to use for ticket #338 ffado/configuration, then I will update the patch.

07/31/11 10:35:37 changed by yellius

Hi, managed to get the AvcModel? created and just uploaded it to the wiki AvcModels/TascamIFFWDM. The trouble is that

tests/test-ffado -v5 Discover 1> stdout.log 2> stderr.log

does not give the output because avc_plug.cpp has the line

PlugManager::showPlugs() const
{
    if(getDebugLevel() < DEBUG_LEVEL_INFO) return;

which means level 5 doesn't give the output. This should either be <= or the wiki should be have -v6, whichever is preferred.

However still can't process the configrom, and also can't obtain the firmware info using ObtainingFirmwareInfo. This gives the following output:

yellius@ubuntu-studio:~/src/ffado-svn$ ffado-bridgeco-downloader 0x00022e20a7234da4 display
-----------------------------------------------
BridgeCo BeBoB platform firmware downloader
Part of the FFADO project -- www.ffado.org
Version: 2.999.0-1990
(C) 2008, Daniel Wagner, Pieter Palmers
This program comes with ABSOLUTELY NO WARRANTY.
-----------------------------------------------

Magic number not correct. Please specify the correct magic using the '-m' option.
Manipulating firmware can cause your device to magically stop working (a.k.a. 'bricking').
Specifying the magic number indicates that you accept the risks involved
with using this tool. The magic number can be found in the source code.

Anyone more ideas?

04/14/12 05:48:12 changed by jwoithe

Is there any chance of further progress on this ticket? The talk about an AVC model probably means that this device could use the Bebob driver, but being unfamiliar with the details of that protocol I don't know what might be required to make FFADO work with this Tascam model. Is it possible to continue working through this ticket, or is it something which is going to involve a more in-depth investigation?

If the former then we can keep the milestone at 2.1 if tangible progress can be made in the next month or so. Otherwise I'll defer it to 2.x or even "indeterminant".

06/01/12 04:40:21 changed by jwoithe

  • priority changed from major to waiting for device info.
  • milestone changed from FFADO 2.1 to Indeterminant (need device info).

As per comment 8, it doesn't seem like progress can be made on this any time soon. I don't personally have access to one of these devices which makes it awkward for me to test anything. For the moment I'll bump the milestone to "Indeterminant" and the priority to "waiting for device info".