-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux file operation error: , No flag detected: val: 0x00000030 mask: 0x0000008c Tascam FW-1884 #188
Comments
Hi @Esavojt , Thanks for your report. It seems that the issue is quite similar to the one reported at #187 . The patch in my post would suppress the issue, but it is not complete solution yet.
Furthermore, the value 0x30 is not what I expected. I guess that there is another uncleared configuration related to the bits in the register, and need further investigation. |
Hi, thanks for your answer, i am currently trying different optical/coaxial routing in windows and then looking what your service returns, i will be back with the results. Tried switching a setting and the service works. |
Hi, I have found out that when I select ADAT 1:8 as the optical output and when setting the coax out and spdif in settings I can get different values:
The interesting thing is that when I did it the first time, the service worked fine, but after that when I tried it second time, the service errored out with these values. When switching from ADAT 1:8 to Analog Outputs 1:8, everything works fine. |
Hi, Thanks for your investigation. The configuration for the source of coaxial output ( $ cat -n protocols/tascam/src/isoch.rs
...
538 /// The specification of coaxial output interface.
539 pub trait TascamIsochCoaxialOutputSpecification {}
540
541 const COAXIAL_OUTPUT_SOURCES: [(CoaxialOutputSource, u32, u32); 2] = [
542 (CoaxialOutputSource::StreamInputPair, 0x00000002, 0x00020000),
543 (
544 CoaxialOutputSource::AnalogOutputPair0,
545 0x00000000,
546 0x00000200,
547 ),
548 ];
549
550 impl<O> TascamIsochWhollyCachableParamsOperation<CoaxialOutputSource> for O
551 where
552 O: TascamIsochCoaxialOutputSpecification,
553 {
554 fn cache_wholly(
555 req: &mut FwReq,
556 node: &mut FwNode,
557 states: &mut CoaxialOutputSource,
558 timeout_ms: u32,
559 ) -> Result<(), Error> {
...
563 }
564 }
565
566 impl<O> TascamIsochWhollyUpdatableParamsOperation<CoaxialOutputSource> for O
567 where
568 O: TascamIsochCoaxialOutputSpecification,
569 {
570 fn update_wholly(
571 req: &mut FwReq,
572 node: &mut FwNode,
573 states: &CoaxialOutputSource,
574 timeout_ms: u32,
575 ) -> Result<(), Error> {
...
579 }
580 }
... The configuration for the source of SPDIF capture ( $ cat -n protocols/tascam/src/isoch.rs
...
584 /// Source of S/PDIF input.
585 #[derive(Debug, Copy, Clone, PartialEq, Eq)]
586 pub enum SpdifCaptureSource {
587 /// To coaxial interface.
588 Coaxial,
589 /// To optical interface.
590 Optical,
591 }
592
593 impl Default for SpdifCaptureSource {
594 fn default() -> Self {
595 Self::Coaxial
596 }
597 }
598
599 /// Source of optical output.
600 #[derive(Debug, Copy, Clone, PartialEq, Eq)]
601 pub enum OpticalOutputSource {
602 /// 4 pairs in stream inputs.
603 StreamInputPairs,
604 /// Mirror of coaxial output 0 and 1.
605 CoaxialOutputPair0,
606 /// Analog input 0 and 1.
607 AnalogInputPair0,
608 /// Mirror of analog output 0, 1, 2, 3, 4, 5, 6, 7, and 8.
609 AnalogOutputPairs,
610 }
611
612 impl Default for OpticalOutputSource {
613 fn default() -> Self {
614 Self::StreamInputPairs
615 }
616 }
617
618 /// The parameters of digital input and output interfaces.
619 #[derive(Default, Debug, Copy, Clone, PartialEq, Eq)]
620 pub struct TascamOpticalIfaceParameters {
621 /// The input interface from which the S/PDIF signal is captured.
622 pub capture_source: SpdifCaptureSource,
623 /// The source signal of optical output interface.
624 pub output_source: OpticalOutputSource,
625 }
626
627 /// The specification of digital interfaces.
628 pub trait TascamIsochOpticalIfaceSpecification {
629 const OPTICAL_OUTPUT_SOURCES: &'static [(OpticalOutputSource, u32, u32)];
630 }
631
632 const SPDIF_CAPTURE_SOURCES: &[(SpdifCaptureSource, u32, u32)] = &[
633 (SpdifCaptureSource::Coaxial, 0x00000000, 0x00010000),
634 (SpdifCaptureSource::Optical, 0x00000001, 0x00000100),
635 ];
636
637 impl<O> TascamIsochWhollyCachableParamsOperation<TascamOpticalIfaceParameters> for O
638 where
639 O: TascamIsochOpticalIfaceSpecification,
640 {
641 fn cache_wholly(
642 req: &mut FwReq,
643 node: &mut FwNode,
644 states: &mut TascamOpticalIfaceParameters,
645 timeout_ms: u32,
646 ) -> Result<(), Error> {
... ...
656 }
657 }
658
659 impl<O> TascamIsochWhollyUpdatableParamsOperation<TascamOpticalIfaceParameters> for O
660 where
661 O: TascamIsochOpticalIfaceSpecification,
662 {
663 /// Update whole parameters.
664 fn update_wholly(
665 req: &mut FwReq,
666 node: &mut FwNode,
667 states: &TascamOpticalIfaceParameters,
668 timeout_ms: u32,
669 ) -> Result<(), Error> {
...
678 }
679 }
... The bitflags in $ cat -n protocols/tascam/src/isoch/fw1884.rs
...
72 impl TascamIsochOpticalIfaceSpecification for Fw1884Protocol {
73 const OPTICAL_OUTPUT_SOURCES: &'static [(OpticalOutputSource, u32, u32)] = &[
74 (
75 OpticalOutputSource::StreamInputPairs,
76 0x00000080,
77 0x0000c000,
78 ),
79 (
80 OpticalOutputSource::CoaxialOutputPair0,
81 0x00000004,
82 0x00080400,
83 ),
84 (
85 OpticalOutputSource::AnalogInputPair0,
86 0x00000088,
87 0x00048800,
88 ),
89 (
90 OpticalOutputSource::AnalogOutputPairs,
91 0x00000008,
92 0x00840800,
93 ),
94 ];
95 }
... If the above bitflags were comforming, the |
Hi @Esavojt, Today I have taken my hardware back to the factory default by pressing Take me more time to investigate further. Regards |
Hello, I have a tascam FW-1884 mixer running under debian 12 and when using the
snd-firewire-tascam-ctl-service snd 0
command i get these messages at the end before the program exits:This is my output of the firmware version:
I have downgraded from the 183 version to this version in hope that it would work, as it didn't work before. The mixer works correctly under windows.
Thanks for helping.
The text was updated successfully, but these errors were encountered: