Re: [Alsa-devel] [ANN] Open Source US-X2Y firmware

2004-05-30 Thread Karsten Wiese
Am Donnerstag 27 Mai 2004 21:26 schrieb Martin Langer:
 Hi,

 if someone is interested in a free (I mean GPL) firmware for the Tascam
 US-X2Y devices I can offer an open source replacement for the second stage
 loader alsa-firmware/usx2yloader/tascam_loader.ihx. All three US-X2Y
 devices need this file. But I have only tried it out with an US-122 where
 it works.

does it here with an US-428 without any problem.
Good stuff! 

 Be careful. This software comes with ABSOLUTELY NO WARRANTY!

 http://www.langerland.de/us122/usx2y-fw-0.1.tar.bz2

Thanks,
Karsten



---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] [PATCH]snd-usb-usx2y 0.6.1

2004-05-14 Thread Karsten Wiese
Hi Takashi,

little fix attached. Please commit with comment
- avoid entry in system log when device disconnects (for RELEASE build)

Thanks,
Karsten
Index: alsa-driver/usb/usx2y/usbusx2y.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.c,v
retrieving revision 1.9
diff -u -r1.9 usbusx2y.c
--- alsa-driver/usb/usx2y/usbusx2y.c	7 Apr 2004 11:46:35 -	1.9
+++ alsa-driver/usb/usx2y/usbusx2y.c	14 May 2004 10:49:34 -
@@ -98,7 +98,7 @@
 
 
 MODULE_AUTHOR(Karsten Wiese [EMAIL PROTECTED]);
-MODULE_DESCRIPTION(TASCAM NAME_ALLCAPS Version 0.6.0);
+MODULE_DESCRIPTION(TASCAM NAME_ALLCAPS Version 0.6.1);
 MODULE_LICENSE(GPL);
 MODULE_CLASSES({sound});
 MODULE_DEVICES({{TASCAM(0x1604), NAME_ALLCAPS(0x8001)(0x8007) }});
@@ -155,7 +155,7 @@
 	usX2Y-In04IntCalls++;
 
 	if (urb-status) {
-		snd_printk( Interrupt Pipe 4 came back with status=%i\n, urb-status);
+		snd_printd(Interrupt Pipe 4 came back with status=%i\n, urb-status);
 		return;
 	}
 


Re: [Alsa-devel] digital i/o tascam usb428

2004-04-27 Thread Karsten Wiese
Am Dienstag 27 April 2004 09:12 schrieb Michael Iber:
 Hello,
 is this correct that there is no spdif-i/o-support for the tascam us428 in
 current alsa-cvs, and never has been before?
yes. as it looks, some serious usb-snooping on windows has to be done to get 
it right.

Regards,
Karsten


---
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg=12297
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] Re: Tascam US-224 progress report (was: USB224_usbsnoop1.log captured on WinXP)

2004-04-06 Thread Karsten Wiese
Am Dienstag 06 April 2004 02:10 schrieb Rui Nuno Capela:
 Now comes the weird part. No, I couldn't get it to work unless I set
 --with-debug=full on configure line. And I've tested several times,
 believe me.

 FYI, I'm stick with 2.6 kernel tree, and already tested with 2.6.4 and
 latest 2.6.5.

 My way of building the kernel modules is from stock tarball, and is pretty
 canonical, as literally as follows (all as root):

   tar -jxf alsa-driver-1.0.4.tar.bz2
   cd alsa-driver-1.0.4
   gzip -dc ../alsa-driver-1.0.4p1.patch.gz# see attachment
   ./configure --with-isapnp=no --with-sequencer=yes --with-oss=yes
 --with-cards=all --with-debug=full
   make
   make install

 As stated, the INPUT MONITOR LED does not get lit if I take out the clause
 --with-debug=full.

 How come?
You don't use --with-kernel option.
Are you shure ALSA build sees the correct linux-kernel source?
What distro are you using?
On some (i.e. fc1) you'd have to specify a special gcc like 
export CC=gcc32
befure ./configure.
I'm building a no debug ALSA here with a 2.6.5-aa1 kernel.
maybe I'll find something.

Cheers,
Karsten


---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] Re: Tascam US-224 progress report (was: USB224_usbsnoop1.log captured on WinXP)

2004-04-06 Thread Karsten Wiese
Am Dienstag 06 April 2004 12:52 schrieb Karsten Wiese:
 Am Dienstag 06 April 2004 02:10 schrieb Rui Nuno Capela:
  Now comes the weird part. No, I couldn't get it to work unless I set
  --with-debug=full on configure line. And I've tested several times,
  believe me.
 
  FYI, I'm stick with 2.6 kernel tree, and already tested with 2.6.4 and
  latest 2.6.5.
 
  My way of building the kernel modules is from stock tarball, and is
  pretty canonical, as literally as follows (all as root):
 
tar -jxf alsa-driver-1.0.4.tar.bz2
cd alsa-driver-1.0.4
gzip -dc ../alsa-driver-1.0.4p1.patch.gz  # see attachment
./configure --with-isapnp=no --with-sequencer=yes --with-oss=yes
  --with-cards=all --with-debug=full
make
make install
 
  As stated, the INPUT MONITOR LED does not get lit if I take out the
  clause --with-debug=full.
 
  How come?

 You don't use --with-kernel option.
 Are you shure ALSA build sees the correct linux-kernel source?
 What distro are you using?
 On some (i.e. fc1) you'd have to specify a special gcc like
   export CC=gcc32
 befure ./configure.
 I'm building a no debug ALSA here with a 2.6.5-aa1 kernel.
 maybe I'll find something.
Yes, same odd behavior here: built without --with-debug=full, 
nothing is sent from us428control to the us428. So your build process is 
propably ok.

Cheers,
Karsten


---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] Re: Tascam US-224 progress report (was: USB224_usbsnoop1.log captured on WinXP)

2004-04-06 Thread Karsten Wiese
  Now comes the weird part. No, I couldn't get it to work unless I set
  --with-debug=full on configure line. And I've tested several times,
  believe me.

Attached diff fixed it here.
Please verify.

CU
Index: alsa-driver/usb/usx2y/usbusx2y.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.c,v
retrieving revision 1.8
diff -u -r1.8 usbusx2y.c
--- alsa-driver/usb/usx2y/usbusx2y.c	17 Feb 2004 15:28:31 -	1.8
+++ alsa-driver/usb/usx2y/usbusx2y.c	6 Apr 2004 16:51:22 -
@@ -118,7 +118,6 @@
 static void snd_usX2Y_usb_disconnect(struct usb_device* usb_device, void* ptr);
 static void snd_usX2Y_card_private_free(snd_card_t *card);
 
-#ifdef CONFIG_SND_DEBUG
 /* 
  * pipe 4 is used for switching the lamps, setting samplerate, volumes    
  */
@@ -128,14 +127,15 @@
 void snd_usX2Y_Out04Int(struct urb* urb)
 #endif
 {
+#ifdef CONFIG_SND_DEBUG
 	if (urb-status) {
 		int 		i;
 		usX2Ydev_t*	usX2Y = urb-context;
 		for (i = 0; i  10  usX2Y-AS04.urb[i] != urb; i++);
 		snd_printd(snd_usX2Y_Out04Int() usX2Y-Seq04=%i urb %i status=%i\n, usX2Y-Seq04, i, urb-status);
 	}
-}
 #endif
+}
 
 #ifndef OLD_USB
 void snd_usX2Y_In04Int(struct urb* urb, struct pt_regs *regs)
@@ -194,7 +194,7 @@
 int j, send = us428ctls-p4outSent + 1;
 if (send = N_us428_p4out_BUFS)
 	send = 0;
-for (j = 0; j  URBS_AsyncSeq; ++j)
+for (j = 0; j  URBS_AsyncSeq!err; ++j)
 	if (0 == usX2Y-AS04.urb[j]-status) {
 		us428_p4out_t *p4out = us428ctls-p4out + send;	// FIXME if more then 1 p4out is new, 1 gets lost.
 		usb_fill_bulk_urb(usX2Y-AS04.urb[j], usX2Y-chip.dev,
@@ -204,7 +204,7 @@
 #ifdef OLD_USB
 		usX2Y-AS04.urb[j]-transfer_flags = USB_QUEUE_BULK;
 #endif
-		usb_submit_urb(usX2Y-AS04.urb[j], GFP_ATOMIC);
+		err = usb_submit_urb(usX2Y-AS04.urb[j], GFP_ATOMIC);
 		us428ctls-p4outSent = send;
 		break;
 	}
Index: alsa-driver/usb/usx2y/usbusx2y.h
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.h,v
retrieving revision 1.3
diff -u -r1.3 usbusx2y.h
--- alsa-driver/usb/usx2y/usbusx2y.h	19 Jan 2004 18:43:28 -	1.3
+++ alsa-driver/usb/usx2y/usbusx2y.h	6 Apr 2004 16:51:22 -
@@ -58,10 +58,6 @@
 void snd_usX2Y_In04Int(struct urb* urb);
 #endif
 
-#ifndef CONFIG_SND_DEBUG
-#define snd_usX2Y_Out04Int 0
-#endif
-
 #define NAME_ALLCAPS US-X2Y
 
 #endif
Index: alsa-driver/usb/usx2y/usbusx2yaudio.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2yaudio.c,v
retrieving revision 1.9
diff -u -r1.9 usbusx2yaudio.c
--- alsa-driver/usb/usx2y/usbusx2yaudio.c	30 Mar 2004 08:27:16 -	1.9
+++ alsa-driver/usb/usx2y/usbusx2yaudio.c	6 Apr 2004 16:51:25 -
@@ -1245,7 +1245,7 @@
 		 snd_dma_continuous_data(GFP_KERNEL),
 		 usX2Y_capt_substream-endpoints * 64*1024,
 		 usX2Y_capt_substream-endpoints * 128*1024)) ||
-	(usX2Y(card)-chip.dev-descriptor.idProduct == USB_ID_US428 
+	(usX2Y(card)-chip.dev-descriptor.idProduct != USB_ID_US122 
 	 0  (err = usX2Y_rate_set(usX2Y_stream, 44100 {	// Lets us428 recognize output-volume settings, disturbs us122.
 		snd_usX2Y_audio_stream_free(usX2Y_stream);
 		return err;


[Alsa-devel] [PATCH]snd-usb-usx2y 0.6

2004-04-06 Thread Karsten Wiese
Hi Jaroslav,

Please commit this with comments
- US224 support
- FIX for build without CONFIG_SND_DEBUG

Thanks,
Karsten

Index: usb/usx2y/usX2Yhwdep.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usX2Yhwdep.c,v
retrieving revision 1.5
diff -u -r1.5 usX2Yhwdep.c
--- usb/usx2y/usX2Yhwdep.c	19 Mar 2004 07:22:06 -	1.5
+++ usb/usx2y/usX2Yhwdep.c	6 Apr 2004 21:32:05 -
@@ -194,11 +194,10 @@
 {
 	int	err = 0,
 		i;
-	usX2Y-Seq04 = 0;
 
 	if (NULL == (usX2Y-AS04.buffer = kmalloc(URB_DataLen_AsyncSeq*URBS_AsyncSeq, GFP_KERNEL))) {
 		err = -ENOMEM;
-	}else
+	} else
 		for (i = 0; i  URBS_AsyncSeq; ++i) {
 			if (NULL == (usX2Y-AS04.urb[i] = usb_alloc_urb(0, GFP_KERNEL))) {
 err = -ENOMEM;
Index: usb/usx2y/usbusx2y.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.c,v
retrieving revision 1.8
diff -u -r1.8 usbusx2y.c
--- usb/usx2y/usbusx2y.c	17 Feb 2004 15:28:31 -	1.8
+++ usb/usx2y/usbusx2y.c	6 Apr 2004 21:32:06 -
@@ -1,6 +1,11 @@
 /*
  * usbus428.c - ALSA USB US-428 Driver
  *
+2004-04-06 Karsten Wiese
+	Version 0.6.0:
+	Runs on 2.6.5 kernel without any --with-debug= things.
+	us224 reported running.
+
 2004-01-14 Karsten Wiese
 	Version 0.5.1:
 	Runs with 2.6.1 kernel.
@@ -93,7 +98,7 @@
 
 
 MODULE_AUTHOR(Karsten Wiese [EMAIL PROTECTED]);
-MODULE_DESCRIPTION(TASCAM NAME_ALLCAPS Version 0.4.1);
+MODULE_DESCRIPTION(TASCAM NAME_ALLCAPS Version 0.6.0);
 MODULE_LICENSE(GPL);
 MODULE_CLASSES({sound});
 MODULE_DEVICES({{TASCAM(0x1604), NAME_ALLCAPS(0x8001)(0x8007) }});
@@ -118,7 +123,6 @@
 static void snd_usX2Y_usb_disconnect(struct usb_device* usb_device, void* ptr);
 static void snd_usX2Y_card_private_free(snd_card_t *card);
 
-#ifdef CONFIG_SND_DEBUG
 /* 
  * pipe 4 is used for switching the lamps, setting samplerate, volumes    
  */
@@ -128,14 +132,15 @@
 void snd_usX2Y_Out04Int(struct urb* urb)
 #endif
 {
+#ifdef CONFIG_SND_DEBUG
 	if (urb-status) {
 		int 		i;
 		usX2Ydev_t*	usX2Y = urb-context;
 		for (i = 0; i  10  usX2Y-AS04.urb[i] != urb; i++);
-		snd_printd(snd_usX2Y_Out04Int() usX2Y-Seq04=%i urb %i status=%i\n, usX2Y-Seq04, i, urb-status);
+		snd_printd(snd_usX2Y_Out04Int() urb %i status=%i\n, i, urb-status);
 	}
-}
 #endif
+}
 
 #ifndef OLD_USB
 void snd_usX2Y_In04Int(struct urb* urb, struct pt_regs *regs)
@@ -194,7 +199,7 @@
 int j, send = us428ctls-p4outSent + 1;
 if (send = N_us428_p4out_BUFS)
 	send = 0;
-for (j = 0; j  URBS_AsyncSeq; ++j)
+for (j = 0; j  URBS_AsyncSeq!err; ++j)
 	if (0 == usX2Y-AS04.urb[j]-status) {
 		us428_p4out_t *p4out = us428ctls-p4out + send;	// FIXME if more then 1 p4out is new, 1 gets lost.
 		usb_fill_bulk_urb(usX2Y-AS04.urb[j], usX2Y-chip.dev,
@@ -204,7 +209,7 @@
 #ifdef OLD_USB
 		usX2Y-AS04.urb[j]-transfer_flags = USB_QUEUE_BULK;
 #endif
-		usb_submit_urb(usX2Y-AS04.urb[j], GFP_ATOMIC);
+		err = usb_submit_urb(usX2Y-AS04.urb[j], GFP_ATOMIC);
 		us428ctls-p4outSent = send;
 		break;
 	}
@@ -273,7 +278,6 @@
 	usX2Y(card)-chip.card = card;
 	init_MUTEX (usX2Y(card)-open_mutex);
 	INIT_LIST_HEAD(usX2Y(card)-chip.midi_list);
-	usX2Y(card)-Seq04Complete = 1;
 	strcpy(card-driver, USB NAME_ALLCAPS);
 	sprintf(card-shortname, TASCAM NAME_ALLCAPS);
 	sprintf(card-longname, %s (%x:%x if %d at %03d/%03d),
Index: usb/usx2y/usbusx2y.h
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.h,v
retrieving revision 1.3
diff -u -r1.3 usbusx2y.h
--- usb/usx2y/usbusx2y.h	19 Jan 2004 18:43:28 -	1.3
+++ usb/usx2y/usbusx2y.h	6 Apr 2004 21:32:06 -
@@ -29,8 +29,6 @@
 	char			In04Last[24];
 	unsigned		In04IntCalls;
 	snd_usX2Y_urbSeq_t*	US04;
-	int			Seq04;
-	int 			Seq04Complete;
 	wait_queue_head_t	In04WaitQueue;
 	snd_usX2Y_AsyncSeq_t	AS04;
 	unsigned int		rate,
@@ -56,10 +54,6 @@
 #else
 void snd_usX2Y_Out04Int(struct urb* urb);
 void snd_usX2Y_In04Int(struct urb* urb);
-#endif
-
-#ifndef CONFIG_SND_DEBUG
-#define snd_usX2Y_Out04Int 0
 #endif
 
 #define NAME_ALLCAPS US-X2Y
Index: usb/usx2y/usbusx2yaudio.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2yaudio.c,v
retrieving revision 1.9
diff -u -r1.9 usbusx2yaudio.c
--- usb/usx2y/usbusx2yaudio.c	30 Mar 2004 08:27:16 -	1.9
+++ usb/usx2y/usbusx2yaudio.c	6 Apr 2004 21:32:08 -
@@ -1245,7 +1245,7 @@
 		 snd_dma_continuous_data(GFP_KERNEL),
 		 usX2Y_capt_substream-endpoints * 64*1024,
 		 usX2Y_capt_substream-endpoints * 128*1024)) ||
-	(usX2Y(card)-chip.dev-descriptor.idProduct == USB_ID_US428 
+	(usX2Y(card)-chip.dev-descriptor.idProduct != USB_ID_US122 
 	 0  (err = usX2Y_rate_set(usX2Y_stream, 44100 {	// Lets us428 recognize output-volume settings, disturbs us122.
 		snd_usX2Y_audio_stream_free(usX2Y_stream

[Alsa-devel] Re: Tascam US-224 progress report (was: USB224_usbsnoop1.log captured on WinXP)

2004-04-05 Thread Karsten Wiese
Am Samstag 03 April 2004 03:24 schrieb Rui Nuno Capela:
 I have news, and they're good this time.

 After some juggling and persistance around compiling and patching the
 snd-usb-usx2y module, I've finally got that dreaded INPUT MONITOR LED come
 to light and, as Karsten rightly predicted, playback has shown its ugly
 head on my Tascam US-224. Hip, hip, hurray!

 Like a miracle, the MUTE and SELECT LED lights of the mixer strips 1-4 are
 lightning up too. Again, Karsten tips are quite cirurgical :)

 However, I don't get the SOLO, REC, NULL, nor all other transport LEDs to
 lit. But that's yet another step, I think the next.
Ok, go for it. Should be fairly easy. Just implement the sink-side of the 
alsa-sequencer interface in us428control ;-)
erm no it is not implemented yet.
The Transport Lights could react to MMC Messages.
MUTE, REC, SOLO  SELECT Lights would be controlled by i. e. ardour.
NULL-Mode is a little more complicated: 
In INPUT MONITOR Mode us428control knows all to handle it.
In not INPUT MONITOR Mode us428control has to know from i. e. Ardour the Mixer 
Settings to compare them with the actual state.

 We're getting near and I'm quite happier now.

 Karsten Wiese wrote:
  So please try the following patch:
 
  --- alsa-driver/usb/usx2y/usbusx2yaudio.c   30 Mar 2004 08:27:16 -  1.9
  +++ alsa-driver/usb/usx2y/usbusx2yaudio.c   2 Apr 2004 11:55:21 -
  @@ -1245,7 +1245,7 @@
   
  snd_dma_continuous_data(GFP_KERNEL),
   usX2Y_capt_substream-endpoints * 
  64*1024,
   usX2Y_capt_substream-endpoints * 
  128*1024)) ||
  -   (usX2Y(card)-chip.dev-descriptor.idProduct == USB_ID_US428 
  +   (usX2Y(card)-chip.dev-descriptor.idProduct != USB_ID_US122 
   0  (err = usX2Y_rate_set(usX2Y_stream, 44100 {// Lets us428
  recognize output-volume settings, disturbs us122.
  snd_usX2Y_audio_stream_free(usX2Y_stream);
  return err;
  
 
  if the us428 doesn't get the usX2Y_rate_set(usX2Y_stream, 44100) at
  startup, it later behaves ignorant to light  volume setting. like
  us224 behaves now.

 That was it. Although I only got it working after one last
 alsa-driver-1.0.3 rebuild and when set --with-debug=full on ./configure.
 Kind of strange. My literal patch applied to stock alsa-driver-1.0.3 is on
 attachment. It is just the same of Karsten's supplied above, just for
 reference.
Please make shure it also works without debug mode. after make clean.

  If we get the INPUT MONITOR Led enlightened, the Volume settings should
  also work with respect to direct monitoring at least. US224 Master Fader
  seams to b where US428's Fader5 is. That needs adjustment in
  s428control.
 
  The data sent to set us224 internal mixers is filtered out with
  grep -n 00: 0[0123456789] .. .. .. ..$ USB224_usbsnoop1.log
  it gives i. e.:
  11721:: 00 00 25 00 25
  11732:: 01 00 25 00 25
  11743:: 02 00 25 00 25
  11754:: 03 00 25 00 25
  11831:: 04 00 42 00 42
 
  look at struct usX2Y_volume and its methods. it should fit the us224.
  But lets get that Leds enlighted first :-)

 The master fader works, at least while on playback. I don't seem to get
 fader strips 1-4 to have any audible effect. But now's too early to judge
 my experiments.
Is Direct Monitoring not working? Please try. Has the us224 got SPDIF besides 
the 2 Anolog Ins?
I'm wondering why there are 5 internal mixers being set.
4 should be PCM from usb,
0 shold be Chanell A Monitor and
1 shold be Chanell B Monitor 
What are 2 and 3?

CU


---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] USB224_usbsnoop1.log captured on WinXP

2004-04-02 Thread Karsten Wiese
It shows the same light switching as is already implemented:
grep -n : 19 USB224_usbsnoop1.log 
gives us pre INPUT MONITOR pressed
21501:: 19 00 1a 00 1b 00 1c 00 1d 11 1e 00 1f 00
and post
21941:: 19 00 1a 00 1b 00 1c 02 1d 01 1e 00 1f 00
the 8th byte changing from 0 to 2 is the actual INPUT MONITOR Led switch on.

see us428control:
void us428_lights::init_us428_lights()
void us428_lights::LightSet(eLight L, bool Value)
with
enum eLight{
eL_InputMonitor = 25
};
the same urb as in the log should be sent to the us224 on linux.
for the us428 it works. not for the us224.

So please try the following patch:

--- alsa-driver/usb/usx2y/usbusx2yaudio.c   30 Mar 2004 08:27:16 -  1.9
+++ alsa-driver/usb/usx2y/usbusx2yaudio.c   2 Apr 2004 11:55:21 -
@@ -1245,7 +1245,7 @@
 
snd_dma_continuous_data(GFP_KERNEL),
 usX2Y_capt_substream-endpoints * 
64*1024,
 usX2Y_capt_substream-endpoints * 
128*1024)) ||
-   (usX2Y(card)-chip.dev-descriptor.idProduct == USB_ID_US428 
+   (usX2Y(card)-chip.dev-descriptor.idProduct != USB_ID_US122 
 0  (err = usX2Y_rate_set(usX2Y_stream, 44100 {// Lets us428 
recognize output-volume settings, disturbs us122.
snd_usX2Y_audio_stream_free(usX2Y_stream);
return err;


if the us428 doesn't get the usX2Y_rate_set(usX2Y_stream, 44100) at startup, 
it later behaves ignorant to light  volume setting. like us224 behaves now.

If we get the INPUT MONITOR Led enlightened, the Volume settings should also 
work with respect to direct monitoring at least. 
US224 Master Fader seams to b where US428's Fader5 is. That needs adjustment 
in us428control.

The data sent to set us224 internal mixers is filtered out with
grep -n 00: 0[0123456789] .. .. .. ..$ USB224_usbsnoop1.log
it gives i. e.:
11721:: 00 00 25 00 25
11732:: 01 00 25 00 25
11743:: 02 00 25 00 25
11754:: 03 00 25 00 25
11831:: 04 00 42 00 42

look at struct usX2Y_volume and its methods. it should fit the us224.
But lets get that Leds enlighted first :-)


Cheers,
Karsten




---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] 1.0.4rc from cvs-head: snd-usb-usx2y still needs snd-hwdep....

2004-04-01 Thread Karsten Wiese
Am Mittwoch 31 März 2004 20:57 schrieb Martin Langer:
 On Wed, Mar 31, 2004 at 09:10:17AM +0200, Jaroslav Kysela wrote:
  On Wed, 31 Mar 2004, Karsten Wiese wrote:
   ..., which is not built.
   this is for kernel 2.4.
  
   /etc/asound/driver_args:
   --with-cards=via82xx,msnd-pinnacle,usb-audio,usb-usx2y,es1968
   --with-kernel=/usr/src/linux-2.4 --with-debug=full --with-sequencer=yes
 
  Fixed.

 Really?
Yes! rm every file in alsa-driver, re-update from cvs and ./cvscompile.
There might be a simpler solution though...

 ./configure --with-cards=usb-usx2y

 /sbin/depmod -ue

 depmod: *** Unresolved symbols in
 /lib/modules/2.4.25-rc1/kernel/sound/usb/snd-usb-audio.o
 depmod: snd_rawmidi_transmit_peek
 depmod: snd_rawmidi_transmit_ack
 depmod: snd_rawmidi_transmit_empty
 depmod: snd_rawmidi_receive
 depmod: snd_rawmidi_new
 depmod: snd_rawmidi_set_ops
didn't see this.

 depmod: *** Unresolved symbols in
 /lib/modules/2.4.25-rc1/kernel/sound/usb/usx2y/snd-usb-usx2y.o
 depmod: snd_hwdep_new
this was here also until I applied above measure.

Cheers,
Karsten


---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70alloc_id638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] Re: [Alsa-user] alsa-driver-1.0.4rc1 missing snd-usb-usx2y ?

2004-04-01 Thread Karsten Wiese
Am Dienstag 30 März 2004 22:51 schrieb Rui Nuno Capela:
  the snd-usb-usx2y module. AFAICT it's not being included by
  ./configure --with-cards option, nor it gets built when one sets
  --with-cards=all.
 
  It is fixed in CVS now. Thanks.

 Checked out today's alsa-driver-1.0.4rc2 where the missed snd-usb-usx2y
 module gets built now.

 However, I couldn't get it to load, dmesg gives:

 snd_usb_usx2y: Unknown symbol snd_pcm_dma_flags

 All other alsa packages are up to 1.0.4rc1 here.

CVS today: OK here with 2.4 and 2.6.5-rc3. Have you tried a fresh checkout?


---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70alloc_id638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] Tascam US-224 support: MIDI OK, Audio KO?

2004-03-30 Thread Karsten Wiese
Am Dienstag 30 März 2004 10:14 schrieb Rui Nuno Capela:

  If there's still no lights, some usb snooping on windoz might help.
  I've some specially tuned stuff here which I could send you then.

 That's of course a very good idea. Please do so ASAP.

 I'll be very pleased to follow your instructions and get a thorough
 profile on this. My laptop has a working winxp partition installed and the
 US-224 (audio mixer leds) works there as designed, but that's hardly a
 surprise for anyone :)

The real stuff is too big for the list, I'll send it to you seperatly.
It is a modified (changed filter-driver, added ListeningPipe app) usb snooper.
modified so I get (filtered) output consisting of sent/received data in a c 
header-file.
It works for me on win2k/vc6 only; haven't tried it on xp yet.

Quick  Dirty Instructions:
Install the filter driver 
filter/release2k/usbsnoop.sys
like in standard usb snoopy of that version. (Detailed Instructions somewhere 
@ sf.net if not in the zip)

enable filter -driver with standard ui app. see attached jpg.

Switch On us224.
Start ListeningPipe/Release/ListeningPipe.exe.
It will (hopefully) create a BIG file fw.h containing everything it snoops 
dump first occurances of messages to stdout.
Pipe stdout to a file to capture infos, while you do something with the us224.
to get best results, switch off us224 to end ListeningPipe.exesomefile.
you can also control-c, but then somefile is not complete. some bugs there 
still.

take f1up_m1.h as an example :

preconditions:
us428 switch on, INPUT MONITOR Light activ. Other LEDs OFF.
Fader 1 @ Minimum.

Started ListeningPipe.exe in a shell like this:
ListeningPipef1up_m1.h

Moved Fader 1 up (1/5 Full scale).

Switched Mute 1 ON.

Switched off us428. ListeningPipe finished ok.

Cheers,
Karsten


attachment: ui.jpg//Pipe Connected!
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x84
// NEW [EMAIL PROTECTED], len=0x15
{ 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 
  0x00, 0x00, 0x00, 0x01, 0x01, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x04
// NEW [EMAIL PROTECTED], len=0xE
{ 0x19, 0x08, 0x1A, 0x00, 0x1B, 0x00, 0x1C, 0x02, 0x1D, 0x01, 0x1E, 0x00, 0x1F, 0x00, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x84
// NEW [EMAIL PROTECTED], len=0x15
{ 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 
  0x00, 0x00, 0x00, 0x01, 0x01, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x04
// NEW [EMAIL PROTECTED], len=0x5
{ 0x00, 0x00, 0x09, 0x00, 0x0A, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x84
// NEW [EMAIL PROTECTED], len=0x15
{ 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 
  0x00, 0x00, 0x00, 0x01, 0x01, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x04
// NEW [EMAIL PROTECTED], len=0x5
{ 0x00, 0x00, 0x13, 0x00, 0x14, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x84
// NEW [EMAIL PROTECTED], len=0x15
{ 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 
  0x00, 0x00, 0x00, 0x01, 0x01, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x04
// NEW [EMAIL PROTECTED], len=0x5
{ 0x00, 0x00, 0x1D, 0x00, 0x1E, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x84
// NEW [EMAIL PROTECTED], len=0x15
{ 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 
  0x00, 0x00, 0x00, 0x01, 0x01, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x04
// NEW [EMAIL PROTECTED], len=0x5
{ 0x00, 0x00, 0x26, 0x00, 0x28, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x84
// NEW [EMAIL PROTECTED], len=0x15
{ 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 
  0x00, 0x00, 0x00, 0x01, 0x01, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x04
// NEW [EMAIL PROTECTED], len=0x5
{ 0x00, 0x00, 0x30, 0x00, 0x32, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x84
// NEW [EMAIL PROTECTED], len=0x15
{ 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 
  0x00, 0x00, 0x00, 0x01, 0x01, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x04
// NEW [EMAIL PROTECTED], len=0x5
{ 0x00, 0x00, 0x3A, 0x00, 0x3C, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x84
// NEW [EMAIL PROTECTED], len=0x15
{ 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 
  0x00, 0x00, 0x00, 0x01, 0x01, 
};
// _URB_HEADER 09 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
// pipe=0x04
// NEW [EMAIL PROTECTED], len=0x5
{ 0x00, 0x00, 0x43, 0x00, 0x46, 
};
// _URB_HEADER 09 

Re: [Alsa-devel] Tascam US-224 support: MIDI OK, Audio KO?

2004-03-30 Thread Karsten Wiese
Am Dienstag 30 Mrz 2004 14:29 schrieb Rui Nuno Capela:
 Hi Karsten,

 Already grabbed and installed SnoopyPro-0.22 from
 http://sourceforge.net/projects/usbsnoop . Guess it's what you mentioned.

 See on attachment a screenshot right after sniffer installation. If that's
 right, you probably don't need to send everything, just the ListeningPipe
 utility. OK?
Hi Rui,

screenshot looks ok. I don't know SnoopyPro-0.22.
I think I took an older version from somewhere on the web  modified it 
heavyly.
maybe SnoopyPro-0.22 can also do what my ListeningPipe app can:
Dump any different telegram only the first time it is being transmitted.
the usb is in constant usage, so if you need to find a special teloegram that 
onlyx occurs if you do something, it can be quit hard work to find out the 
exact telegram. 
If you want ListeningPipe, you have to also use the filter-driver that came 
with the zip file. At least so I think...

Cheers,
Karsten


---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70alloc_id638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] Tascam US-224 support: MIDI OK, Audio KO?

2004-03-30 Thread Karsten Wiese
Am Dienstag 30 März 2004 21:32 schrieb Rui Nuno Capela:
  screenshot looks ok. I don't know SnoopyPro-0.22.

 I just picked it up from sf.net , as you suggested.

  I think I took an older version from somewhere on the web  modified it
  heavyly.
  maybe SnoopyPro-0.22 can also do what my ListeningPipe app can:
  Dump any different telegram only the first time it is being transmitted.
  the usb is in constant usage, so if you need to find a special teloegram
  that onlyx occurs if you do something, it can be quit hard work to find
  out the exact telegram.

 Hmmm. I think we better stick with your custom binaries and put aside that
 SnoopyPro thing. AFAICT there's no filtering feature in it.

 We better use the very same tools, otherwise things get weird, and no one
 gets the blame ;)

  If you want ListeningPipe, you have to also use the filter-driver that
  came with the zip file. At least so I think...

 Of course I do. Please apologize me, but I'm missing the zip file you're
 mentioning. Have you sent it already?

i sent it 7 hours ago and now again. 
I'd suggest you use my tool if it fits winxp  USB 2 (I mean the latest high 
speed USB which your machine is equiped with?) which i don't know as i only 
used it with win2k and the slower 10MBit/s USB. 
I mean use what fits best ;-)
Just checked: The Mail with the zip is in my inbox again (CCed me), so it 
should be in yours too soon:
 Rui Nuno Capela [EMAIL PROTECTED]
It is 351 kBytes big, so i can't send it to alsa-devel list.

You have it?






---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70alloc_id638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] 1.0.4rc from cvs-head: snd-usb-usx2y still needs snd-hwdep....

2004-03-30 Thread Karsten Wiese
..., which is not built.
this is for kernel 2.4.

/etc/asound/driver_args:
--with-cards=via82xx,msnd-pinnacle,usb-audio,usb-usx2y,es1968 
--with-kernel=/usr/src/linux-2.4 --with-debug=full --with-sequencer=yes

regards,
Karsten


---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] Tascam US-224 support: MIDI OK, Audio KO?

2004-03-29 Thread Karsten Wiese
Am Montag 29 März 2004 13:34 schrieb Rui Nuno Capela:
 
 My first question goes whether us428control's not recognizing any USx2y
 hardware dependant stuff (hwdep) either on hw:0 or hw:1. I'm almost sure
 that it should be on hw:1 as the US-224 is configured as my second
 soundcard under the ALSA configuration (i.e. alias snd-usb-usx2y
 snd-card-1). But us428control does not find anything, at least after the
 firmware gets loaded.
I only have a us428 here, so I assume us224 behaves the same.

could it be it is already running (started by hotpug scripts which were 
installed with alsa)? 
Did you try ps -aux|grep us428control ?
aconnect -li gave you among others
 client 129: 'US-428' [type=user]
 0 'Controls'
this usually is due to us428controls activity.

 Strange enough, to me at least, us428control seems to work between the fw
 and fpga loading steps. Using lsusb, I've noticed that the USB ids do
 change from 1604:8004 to 1604:8005 while plugging in. Guess that's normal,
 and it marks the momemt when fw is loaded and fpga is about to.

 The second one is about the LEDs on the control surface: besides the USB
 light, isn't that supposed to light up anything else? Everything else is
 dead dark. Touching the knobs, pushing the buttons or whatever doesn't
 make any visible difference. Is that supposed to be normal?
if us428control is running ok (AND fits the us224), INPUT MONITOR Led is 
functional.
Also if INPUT MONITOR Led is ON, SELECT and MUTE Leds work.


 OK. I've tested on two different systems, a Compaq laptop w/Mandrake 10.0
 (P4 2.533GHz, OHCI) and on a custom desktop w/SUSE 9.0 (P4 3.333GHz
 SMP/HT, UHCI). On both, the firmware seems to get loaded and only visible
 thing to note is that the USB light gets lit.

 The only thing that i could get to work is the MIDI interface. AFAICT all
 faders, buttons and the jog wheel do send MIDI control events, and I could
 intercept those on the ALSA sequencer interface. MIDI seems pretty
 functional then. I could also test the external raw MIDI interface, by
 sending out some notes and it seems to work too.
faders, buttons and the jog wheel do send MIDI control events are made by 
us428control.


 It's the PCM audio part that gets me worried. ALSA reports both capture
 and playback PCM interfaces. But on all my tests I could only ear silence.
 Not a sound. Dead silence only. Although it all seems to be OK, at least
 as reported by ALSA.
us428 MASTER Slider behaves funny here: 
if it is set to MAXIMUM at Firmware BootUp, it tells us428control that it is 
ZEROed!
To hear audio here I have to set MASTER Fader below MAX first.
Later I can put it to MAX and it behaves as expected.


 Quite traditionally this symptom is due to initially default muted mixer
 channels, but running `alsamixer -c1` reports that there's no mixer elems.
 So how can I unmute this beast?

Hope the above helps. Mixer support isn't yet written, sorry.

To see if capturing works:
can you record a file and it looks like expected in an audio editor?

(UHCI worked more often than OHCI, but also UHCI can be tricky:
on a via mobo one connector does it, but the other not !?!)

Cheers,
Karsten



---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70alloc_id638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] Tascam US-224 support: MIDI OK, Audio KO?

2004-03-29 Thread Karsten Wiese
Hi Rui,


please try to enable audio out with us428control -v2 -D hw:1 like this:

- toggle INPUT MONITOR until us428control says ...Light is 1

- then move Fader3 to max and play some audio.
This is just a guess assuming audio out is mapped on us224 internal mixer 2, 
input monitor channel 1 is mapped on us224 internal mixer 0  and input 
monitor channel 2 is mapped on us224 internal mixer 1.

- Please also try your guitar on both inputs: move faders 1  2 to see if 
sound is routed to the outputs.


We have to tweak us428control to add real us224 support.
Above is just to verify that the current us428 internal mixer mechanics is 
usable for the us224.

Concerning us224's Lights I'm currently left in the dark
For us428 I found that a 7Byte long USB-Message on pipe 4 is a Lights set 
command, while a 5Byte long is an internal mixer set command.
You could tweak us428control to toggle the 0'th light instead of the 25'th 
light, which is InputMonitor Light on us428. the 0th light is Select Channel 
1 on the us428. 
Exchange Cus428State.cc Line 118 , 119
Light[0].Value = StateInputMonitor() ? 
SelectInputMonitor : Select;
Light[2].Value = StateInputMonitor() ? 
MuteInputMonitor : Mute;
for 
Light[0].Value = 0x55;
Light[2].Value = 0xAA;
to check light mechanics. 

If there's still no lights, some usb snooping on windoz might help.
I've some specially tuned stuff here which I could send you then.


cheers,
Karsten

Am Montag 29 März 2004 23:41 schrieb Rui Nuno Capela:
 Hi Karsten, Martin,

 Karsten wrote:
  I only have a us428 here, so I assume us224 behaves the same.
 
  could it be it is already running (started by hotpug scripts which were
  installed with alsa)?
  Did you try ps -aux|grep us428control ?
  aconnect -li gave you among others
   client 129: 'US-428' [type=user]
   0 'Controls'
  this usually is due to us428controls activity.

 Yes us428control is indeed already running, spawned by the hotplug scripts
 alright. How could I miss that? :)

 OK. The first thing I tried then was killing it and restarting it by hand:

us428control -v2 -D hw:1

 By tweaking some knobs and faders it seems that its working. I have the
 verbose feedback OK, or so I think. Below, you can find some data that
 I've collected here. Please check if it's the same or similar that you
 find for the US-428.

  The second one is about the LEDs on the control surface: besides the
  USB light, isn't that supposed to light up anything else? Everything
  else is dead dark. Touching the knobs, pushing the buttons or whatever
  doesn't make any visible difference. Is that supposed to be normal?
 
  if us428control is running ok (AND fits the us224), INPUT MONITOR Led
  is functional.

 Nope. INPUT MONITOR never gets lit, despite the verbose output of
 us428control saying otherwise (see below).

  Also if INPUT MONITOR Led is ON, SELECT and MUTE Leds work.

 Neither of those leds get ON, no matter how much I try to play with them.
 Only darkness I see.

  us428 MASTER Slider behaves funny here:
  if it is set to MAXIMUM at Firmware BootUp, it tells us428control
  that it is ZEROed!
  To hear audio here I have to set MASTER Fader below MAX first.
  Later I can put it to MAX and it behaves as expected.

 Tried several positions. Can't hear a thing. No output, only silence

  Hope the above helps. Mixer support isn't yet written, sorry.

 Hmmm. Is it planned any time soon? Can I help in any way?

  To see if capturing works:
  can you record a file and it looks like expected in an audio editor?

 YES. Capture works. I've tested with `arecord -D hw:1 take1.wav` and I can
 hear my guitar. Obviously I had to feed the captured file into the onboard
 soundcard to get to ear it.

 After all, it's only playback that's missing. Oh, and no leds too.

  (UHCI worked more often than OHCI, but also UHCI can be tricky:
  on a via mobo one connector does it, but the other not !?!)

 As I noted, I'm testing on two quite different machines, a desktop and a
 laptop. The desktop one seems to be using UHCI (although ohci, uhci and
 ehci modules are all loaded in). The laptop one is OHCI for sure and only.

 AFAICT, the behaviour is quite the same on either system. No playback
 sound, at least via PHONES output.


 Now follows the data I collected while watching `us428control -v2 -D hw:1`
 output. Hope it sheds some light.


 -- Jog wheel:

 poll returned 0x1
 Last is 0
 00
 poll returned 0x1
 Last is 1
 01
 poll returned 0x1
 Last is 2
 02
 .   .
 .   .
 .   .
 

[Alsa-devel] Re: usx2y firmware update

2004-03-14 Thread Karsten Wiese
Am Donnerstag, 11. März 2004 21:50 schrieb Martin Langer:
 Hi,

 Tascam has released v3.24 of their windows drivers and the firmware for the
 us224 and us428 changed (only EZ-USB), but I found no changes for the
 us122.

 You can find both changed and converted firmware files here:
 http://www.langerland.de/us122/usx2y-firmware_v3.24.tar.bz2

 Please test!

 I have no information about the changes, but hopefully it will fix
 something. Perhaps other usx2y users know more...
works just as before so far. no difference noticed.

thanks,
Karsten


---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70alloc_id638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] USB audio devices

2004-03-10 Thread Karsten Wiese
We can also vary the exact USB frame time.
With UHCI 1.1 USB Hosts there is the SOF Register. 
It is setable from 0 to 255, the default being 127.
Using this SOF-Register, we can set the actual USB Frame Rate from 
((12000 - 127) / 12000)ms to ((12000 + 128) / 12000)ms. That is about -/+ 1%:
More than enough to adjust the USB-Frame rate to let us get 44(44100) or 48
(48000) Sample Frames everyy USB Frame.
It really works here already with the us428: The trick is:
We first make the USB-Frame longer until we capture 1 Sample Frame more  45 
(for 44100). then the USB-Frame is shortened until we capture only 43 Sample 
Frames for one USB Frame. and so on. 
If we use a period size of multiples of 44 (for 44100) then :
- Latency is almost at its best (only 1/44 less than optimal.
- User Prog Scheduling Jitter is minimized.
- Alsas keeps constant Period size.

cheers,
Karsten




---
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: Start us224control via hotplug. was: Re: [Alsa-devel] Tascam US-224 support

2004-02-23 Thread Karsten Wiese
Am Freitag, 20. Februar 2004 11:50 schrieb Takashi Iwai:
 At Fri, 20 Feb 2004 00:40:32 +0100,

 Karsten Wiese wrote:
  this is a patch against /alsa-tools/usx2yloader/tascam_fpga.in:
 
 
  Index: tascam_fpga.in
  ===
  RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/tascam_fpga.in,v
  retrieving revision 1.4
  diff -u -r1.4 tascam_fpga.in
  --- tascam_fpga.in  19 Jan 2004 18:49:21 -  1.4
  +++ tascam_fpga.in  19 Feb 2004 22:16:04 -
  @@ -23,6 +23,9 @@
   1604/8001/*)
  [EMAIL PROTECTED]@/us428control
  ;;
  +1604/8005/*)
  +   [EMAIL PROTECTED]@/us224control
  +   ;;
   *)
  ;;
   esac
  
 
  unfortunately this patch is only half of what it should be:
  us224control is meant to be created from ln -s us428control
  us224control

 is it necessary for performance except for the sane naming?
 for example, in the case of aplay/arecord, both of them are the same
 binary but perform differently according to the executed name.
 if it's not the case, i'd like to keep the same name.
sane naming only so far.


  how would we integrate this ln -s us428control us224control into
  Makefile.am ? or should we just cp the symbolic link? but then: can you
  put the symbolic link created by ln -s us428control us224control into
  CVS?
 
  if nobody knows, here is what works out of the box:
 
 
  Index: tascam_fpga.in
  ===
  RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/tascam_fpga.in,v
  retrieving revision 1.4
  diff -u -r1.4 tascam_fpga.in
  --- tascam_fpga.in  19 Jan 2004 18:49:21 -  1.4
  +++ tascam_fpga.in  19 Feb 2004 22:16:04 -
  @@ -23,6 +23,9 @@
   1604/8001/*)
  [EMAIL PROTECTED]@/us428control
  ;;
  +1604/8005/*)
  +   [EMAIL PROTECTED]@/us428control
  +   ;;
   *)
  ;;
   esac

 that's fine.

please commit the 'fine' version:


Index: tascam_fpga.in
===
RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/tascam_fpga.in,v
retrieving revision 1.4
diff -u -r1.4 tascam_fpga.in
--- tascam_fpga.in  19 Jan 2004 18:49:21 -  1.4
+++ tascam_fpga.in  19 Feb 2004 22:16:04 -
@@ -23,6 +23,9 @@
 1604/8001/*)
[EMAIL PROTECTED]@/us428control
;;
+1604/8005/*)
+   [EMAIL PROTECTED]@/us428control
+   ;;
 *)
;;
 esac


thanks,
Karsten


---
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps  Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356alloc_id=3438op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Start us224control via hotplug. was: Re: [Alsa-devel] Tascam US-224 support

2004-02-19 Thread Karsten Wiese
this is a patch against /alsa-tools/usx2yloader/tascam_fpga.in:


Index: tascam_fpga.in
===
RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/tascam_fpga.in,v
retrieving revision 1.4
diff -u -r1.4 tascam_fpga.in
--- tascam_fpga.in  19 Jan 2004 18:49:21 -  1.4
+++ tascam_fpga.in  19 Feb 2004 22:16:04 -
@@ -23,6 +23,9 @@
 1604/8001/*)
[EMAIL PROTECTED]@/us428control
;;
+1604/8005/*)
+   [EMAIL PROTECTED]@/us224control
+   ;;
 *)
;;
 esac


unfortunately this patch is only half of what it should be:
us224control is meant to be created from ln -s us428control us224control
how would we integrate this ln -s us428control us224control into Makefile.am 
? or should we just cp the symbolic link? but then: can you put the symbolic 
link created by ln -s us428control us224control into CVS?

if nobody knows, here is what works out of the box:


Index: tascam_fpga.in
===
RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/tascam_fpga.in,v
retrieving revision 1.4
diff -u -r1.4 tascam_fpga.in
--- tascam_fpga.in  19 Jan 2004 18:49:21 -  1.4
+++ tascam_fpga.in  19 Feb 2004 22:16:04 -
@@ -23,6 +23,9 @@
 1604/8001/*)
[EMAIL PROTECTED]@/us428control
;;
+1604/8005/*)
+   [EMAIL PROTECTED]@/us428control
+   ;;
 *)
;;
 esac


best regards, Karsten



---
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps  Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356alloc_id=3438op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] Re: still interested in us224 support?

2004-02-11 Thread Karsten Wiese
Am Dienstag, 10. Februar 2004 19:58 schrieben Sie:
 I had some time to try us428control. I tried to run it without
 arguments, but it complained about no-existent /dev/seq (don't have
 built-in sequencer in my internal sound card). I tried to use options
/dev/seq refers here to a software-alsa-part.
see my computers answer to 
$cat /proc/asound/devices
  0: [0- 0]: ctl
  8: [0- 0]: raw midi
 16: [0- 0]: digital audio playback
 24: [0- 0]: digital audio capture
  1:   : sequencer  this is alsas sequencer
 33:   : timer
 32: [1- 0]: ctl
 36: [1- 0]: hardware dependent
 48: [1- 0]: digital audio playback
 56: [1- 0]: digital audio capture
 40: [1- 0]: raw midi

the alsa's sequencer is definitly needed to let us428control work.
the corresponding module is snd-seq-device.
lsmod should show it. 
if not, try modprobe snd-seq-device.
if snd-seq-device is missing, build it.
configure alsa-driver by creating the file /etc/asound/driver_args.
mine looks like:

--with-cards=via82xx,msnd-pinnacle,usb-audio,usb-usx2y,es1968 
--with-kernel=/usr/src/linux-2.4 --with-debug=full --with-sequencer=yes

then rebuild with ./cvscompile etc.

 to override this, but i must admit i'm not sure i understand all alsa
 principles. I tried options like :

 # ./us428control -Dhw1,0,0
 ALSA lib hwdep.c:151:(snd_hwdep_open_noupdate) Unknown HwDep hw1,0,0
 # ./us428control -D1,0
 ALSA lib hwdep.c:151:(snd_hwdep_open_noupdate) Unknown HwDep 1,0
 # ./us428control -chw1,0,0
 us428control: cannot open hwdep hw:0
 # ./us428control -chw1,0
 us428control: cannot open hwdep hw:0

start it like
$us428control -v2 -Dhw:X
or
$us428control -v2 -cX
with X=index of the card.

 But I thought there were a control midi port on us224, which to seems
 noexistent with alsa ?
us428 controls work. provided us428control runs.



 I cand send more usb snooping if needed.
try to get us428control running first. if us224 is very similar to 428,
you'll get a printout of lots of control numbers if you use the controls and 
have started us428control with option -v2.


  You uncommented any section containing USB_ID_US224 in snd-usb-usx2y?
  Also for trying on us224 please change
  usbusx2yaudio.c line 1244
  (usX2Y(card)-chip.dev-descriptor.idProduct == USB_ID_US428 
  to
  (usX2Y(card)-chip.dev-descriptor.idProduct == USB_ID_US224 

 Also tried this change (just to test) :

 Feb  7 11:57:31 ouragan /etc/hotplug/usb.agent: Module setup tascam_fpga
 for USB product 1604/8005/1
 Feb  7 11:57:31 ouragan /etc/hotplug/usb/tascam_fpga: calling
 /usr/local/bin/usx2yloader for /proc/bus/usb/001/010
 Feb  7 11:57:35 ouragan kernel: ALSA usX2Yhwdep.c:315:
 snd_usX2Y_create_alsa_devices error -19
this only happens with the change aplied? 
so this change doesn't help.

Karsten



---
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps  Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356alloc_id=3438op=click
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] Re: still interested in us224 support?

2004-02-01 Thread Karsten Wiese
Am Freitag, 30. Januar 2004 21:12 schrieb Martin Langer:
 On Fri, Jan 30, 2004 at 06:04:09PM +0100, David wrote:
  Le Jeudi 29 Janvier 2004 23:54, vous avez écrit :
   Jump to alsa-firmware/usx2yloader and place the attached us224.prepad
   file there. Part two of the job is patching two files there with the
   attached patchfile:
  
   patch -p0  loader.patch
 
  Done, but even a ./configure  make  make install would copy
  us224.prepad to /usr/local/share/alsa/firmware/usx2yloader/ so i copied
  the file by myself.

 ok.

   and then run the typical install stuff...
 
  Now the control led is burning. I couldn't force aplay to use us224
  instead of my maestro 2E, so i tried to cat a wav file to /dev/dspx. I
  also tried to use xmms : it seems the file is played but with no sound.

 if the us224 is device number X:
 aplay -Dplughw:X,0 test.wav

 I guess it's in your case:
 aplay -Dplughw:1,0 test.wav

 For direct hardware access if the file is 44.1 or 48kHz and no alsa-lib
 conversion is necessary, it should be possible with:
 aplay -Dhw:1,0 test.wav

  running alsamixer -c1 returns a No mixer elems found (i think it's
  normal as under Windows there is also no mixing possibility).

 Well, that's the big difference to my 122 which is only an I/O interface
 and not a controller. My mixer is a 100% hardware solution but I guess the
 224 is like the 428 and need a similar (the same ?) control interface.
 Perhaps the us428control (in alsa-tools) works out of the box for the 224
 too, but I've never looked inside that code. Karsten?

could work. but maybe some numbers identifying sliders or output mixers don't 
fit us224. we would need info from tasam or usb snooping windoze or 
braveheartedly testing on linux to know more.
...also i'm not completely shure if the snd-usb-usx2y's mmap interface is 
initialized for us224 also. us428control talks to the driver with it.
Just give it a try.

 Karsten, how reacts the 428 without starting us428control? Simply no sound
 on playback? Or is there another point I've missed?

No sound on playback.

 I guess it's time to create some official 224 driver/loader patches for
 Alsa CVS now. Any objections?

You uncommented any section containing USB_ID_US224 in snd-usb-usx2y?
Also for trying on us224 please change 
usbusx2yaudio.c line 1244
(usX2Y(card)-chip.dev-descriptor.idProduct == USB_ID_US428 
to
(usX2Y(card)-chip.dev-descriptor.idProduct == USB_ID_US224 

have fun,
Karsten



---
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] [PATCH]snd-usb-usx2y 0.5.1

2004-01-16 Thread Karsten Wiese
Hi Takashi,

this lets it work on kernel 2.6.1.

please commit, thanks,
karsten
Index: alsa-driver/usb/usx2y/usX2Yhwdep.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usX2Yhwdep.c,v
retrieving revision 1.3
diff -u -r1.3 usX2Yhwdep.c
--- alsa-driver/usb/usx2y/usX2Yhwdep.c	13 Jan 2004 17:19:30 -	1.3
+++ alsa-driver/usb/usx2y/usX2Yhwdep.c	15 Jan 2004 23:22:37 -
@@ -37,7 +37,9 @@
 {
 }
 
-#ifndef LINUX_2_2
+#if LINUX_VERSION_CODE = KERNEL_VERSION(2, 6, 0)
+static struct page * us428ctls_vm_nopage(struct vm_area_struct *area, unsigned long address, int *type)
+#elif LINUX_VERSION_CODE = KERNEL_VERSION(2, 4, 0)
 static struct page * us428ctls_vm_nopage(struct vm_area_struct *area, unsigned long address, int no_share)
 #else
 static unsigned long us428ctls_vm_nopage(struct vm_area_struct *area, unsigned long address, int no_share)
@@ -47,12 +49,11 @@
 	struct page * page;
 	void *vaddr;
 
-	snd_printd(ENTER, start %lXh, ofs %lXh, pgoff %ld, addr %lXh, wr %d\n,
+	snd_printd(ENTER, start %lXh, ofs %lXh, pgoff %ld, addr %lXh\n,
 		   area-vm_start,
 		   address - area-vm_start,
 		   (address - area-vm_start)  PAGE_SHIFT,
-		   address,
-		   no_share);
+		   address);
 	
 #if LINUX_VERSION_CODE = KERNEL_VERSION(2, 3, 25)
 	offset = area-vm_pgoff  PAGE_SHIFT;
@@ -65,6 +66,12 @@
 	page = virt_to_page(vaddr);
 	get_page(page);
 	snd_printd( vaddr=%p made us428ctls_vm_nopage() return %p; offset=%lX\n, vaddr, page, offset);
+
+#if LINUX_VERSION_CODE = KERNEL_VERSION(2, 6, 0)
+	if (type)
+		*type = VM_FAULT_MINOR;
+#endif
+
 #ifndef LINUX_2_2
 	return page;
 #else
@@ -303,6 +310,8 @@
 	}
 	if (!err1 == dsp-index)
 		do {
+			set_current_state(TASK_UNINTERRUPTIBLE);
+			schedule_timeout(HZ/4);			// give the device some time 
 			if ((err = snd_usX2Y_AsyncSeq04_init((usX2Ydev_t*)hw-private_data))) {
 snd_printk(snd_usX2Y_AsyncSeq04_init error \n);
 break;
Index: alsa-driver/usb/usx2y/usbusx2y.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.c,v
retrieving revision 1.5
diff -u -r1.5 usbusx2y.c
--- alsa-driver/usb/usx2y/usbusx2y.c	30 Dec 2003 16:33:44 -	1.5
+++ alsa-driver/usb/usx2y/usbusx2y.c	15 Jan 2004 23:22:37 -
@@ -1,6 +1,10 @@
 /*
  * usbus428.c - ALSA USB US-428 Driver
  *
+2004-01-14 Karsten Wiese
+	Version 0.5.1:
+	Runs with 2.6.1 kernel.
+
 2003-12-30 Karsten Wiese
 	Version 0.4.1:
 	Fix 24Bit 4Channel capturing for the us428.
@@ -142,7 +146,7 @@
 	int			err = 0;
 	usX2Ydev_t		*usX2Y = urb-context;
 	us428ctls_sharedmem_t	*us428ctls = usX2Y-us428ctls_sharedmem;
-	
+
 	usX2Y-In04IntCalls++;
 
 	if (urb-status) {
@@ -210,6 +214,11 @@
 	if (err) {
 		snd_printk(In04Int() usb_submit_urb err=%i\n, err);
 	}
+
+#if LINUX_VERSION_CODE = KERNEL_VERSION(2, 6, 0)
+	urb-dev = usX2Y-chip.dev;
+	usb_submit_urb(urb, GFP_ATOMIC);
+#endif
 }
 
 static void snd_usX2Y_unlinkSeq(snd_usX2Y_AsyncSeq_t* S)
@@ -361,14 +370,16 @@
 	if (ptr) {
 		usX2Ydev_t* usX2Y = usX2Y((snd_card_t*)ptr);
 		struct list_head* p;
+		if (usX2Y-chip_status == USX2Y_STAT_CHIP_HUP)	// on 2.6.1 kernel snd_usbmidi_disconnect()
+			return;	// calls us back. better leave :-) .
 		usX2Y-chip_status = USX2Y_STAT_CHIP_HUP;
 		snd_usX2Y_unlinkSeq(usX2Y-AS04);
 		usb_unlink_urb(usX2Y-In04urb);
+		snd_card_disconnect((snd_card_t*)ptr);
 		/* release the midi resources */
 		list_for_each(p, usX2Y-chip.midi_list) {
 			snd_usbmidi_disconnect(p, snd_usX2Y_usb_driver);
 		}
-		snd_card_disconnect((snd_card_t*)ptr);
 		if (usX2Y-us428ctls_sharedmem) 
 			wake_up(usX2Y-us428ctls_wait_queue_head);
 		snd_card_free_in_thread((snd_card_t*)ptr);
Index: alsa-driver/usb/usx2y/usbusx2y.h
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.h,v
retrieving revision 1.2
diff -u -r1.2 usbusx2y.h
--- alsa-driver/usb/usx2y/usbusx2y.h	2 Dec 2003 10:15:02 -	1.2
+++ alsa-driver/usb/usx2y/usbusx2y.h	15 Jan 2004 23:22:37 -
@@ -5,7 +5,7 @@
 #include usbus428ctldefs.h 
 
 #define NRURBS	2	/* */
-#define NRPACKS		1	/* usb-frames/ms per urb */
+#define NRPACKS		2	/* usb-frames/ms per urb: 1 and 2 are supported. set to 1 if you want lowest possible latency */
 
 #define URBS_AsyncSeq 10
 #define URB_DataLen_AsyncSeq 32
Index: alsa-driver/usb/usx2y/usbusx2yaudio.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2yaudio.c,v
retrieving revision 1.6
diff -u -r1.6 usbusx2yaudio.c
--- alsa-driver/usb/usx2y/usbusx2yaudio.c	13 Jan 2004 17:19:30 -	1.6
+++ alsa-driver/usb/usx2y/usbusx2yaudio.c	15 Jan 2004 23:22:40 -
@@ -122,7 +122,6 @@
 			   struct urb *urb)
 {
 	unsigned long flags, pack;
-
 	urb-dev = subs-stream-usX2Y-chip.dev; /* we need to set this at each time */
 	spin_lock_irqsave(subs-lock, flags);
 	for (pack = 0; pack  NRPACKS; pack++) {
@@ -131,8

[Alsa-devel] Re: usx2y: known problems with us122 and alsa-drivers-1.0.1?

2004-01-11 Thread Karsten Wiese
Am Samstag, 10. Januar 2004 20:27 schrieben Sie:
 Hi,

 I have built and installed ALSA 1.0.1 from tarballs for use with my new
 Tascam US-122.  As far as I can tell, ALSA is correctly recognizing and
 loading firmware for this device.  The USB light is on, the device shows
 up in /proc/asound as card # 0, etc.  ALSA works properly on the
 internal card for this laptop, which is loaded as the second card, I can
 produce sound and so on.  However, when I attempt to play a soundfile
 through the US-122 using aplay, it fails as follows.

 My question to you is: do you have any known problems with US-122 and
 alsa-1.0.1?
no known problem for the US-428 here with a 2.4.23 kernel. Did not yet try any 
2.6 kernel  don't have an US-122.


 I did have to make a small change to alsa-kernel/usb/usbaudio.h in the
 tarball distro to add back some definitions for USB_DT_CS_* that are
 needed by the usb audio driver.  Maybe this is evidence that the 1.0.1
 distro is out of sync with authoritative source for usb-audio?

 Here is some possibly useful information about my system.  Thanks in
 advance for any help you can provide.

 $ cat /proc/asound/version
 Advanced Linux Sound Architecture Driver Version 1.0.1.
 Compiled on Jan 10 2004 for kernel 2.6.0.

 $ cat /proc/asound/cards
 0 [USX2Y  ]: USB US-X2Y - TASCAM US-X2Y
  TASCAM US-X2Y (1604:8007 if 0 at 003/006)
 1 [A5451  ]: ALI5451 - ALI 5451
  ALI 5451 at 0x1000, irq 5
please give us the output of $ cat /proc/asound/devices!



 $ aplay -D hw:0 ~/gillian.wav
 Playing WAVE '/home/grib/gillian.wav' : Signed 16 bit Little Endian,
 Rate 44100 Hz, Stereo
 ALSA lib pcm_hw.c:324:(snd_pcm_hw_hw_params) SNDRV_PCM_IOCTL_HW_PARAMS
 failed: No such device
 aplay: set_params:875: Unable to install hw params:
 ACCESS:  RW_INTERLEAVED
 FORMAT:  S16_LE
 SUBFORMAT:  STD
 SAMPLE_BITS: 16
 FRAME_BITS: 32
 CHANNELS: 2
 RATE: 44100
 PERIOD_TIME: (125011 125012)
 PERIOD_SIZE: 5513
 PERIOD_BYTES: 22052
 PERIODS: (2 3)
 BUFFER_TIME: (371519 371520)
 BUFFER_SIZE: 16384
 BUFFER_BYTES: 65536
 TICK_TIME: 1000

 I have tried many normal variations of buffer sizes and so on but no
 change.  Here is some other possibly useful information:

 OK, and it's in /dev also:

 $ ls -l /dev/snd
 total 0
 crw-rw1 root audio116,   0 Dec 31  1969 controlC0
 crw-rw1 root audio116,  32 Dec 31  1969 controlC1
 crw-rw1 root audio116,   4 Dec 31  1969 hwC0D0
 crw-rw1 root audio116,   8 Dec 31  1969 midiC0D0
 crw-rw1 root audio116,  24 Dec 31  1969 pcmC0D0c
 crw-rw1 root audio116,  16 Dec 31  1969 pcmC0D0p
 crw-rw1 root audio116,  56 Dec 31  1969 pcmC1D0c
 crw-rw1 root audio116,  48 Dec 31  1969 pcmC1D0p
 crw-rw1 root audio116,  33 Dec 31  1969 timer

 When I attached the USB device, here's the message I saw in
 /var/log/messages:

 Jan 10 12:50:10 serrano kernel: hub 3-0:1.0: new USB device on port 2,
 assigned
 address 5
 Jan 10 12:50:10 serrano kernel: midi: probe of 3-2:1.0 failed with error
 -5
 Jan 10 12:50:11 serrano /etc/hotplug/usb/tascam_fw: load
 /usr/share/alsa/firmware/usx2yloader/us122fw.ihx for 1604/8006/100 to
 /proc/bus/usb/003/005
 Jan 10 12:50:11 serrano kernel: usb 3-2: USB disconnect, address 5
 Jan 10 12:50:13 serrano kernel: hub 3-0:1.0: new USB device on port 2,
 assigned
 address 6
 Jan 10 12:50:13 serrano kernel: midi: probe of 3-2:1.0 failed with error
 -5
 Jan 10 12:50:13 serrano /etc/hotplug/usb/tascam_fpga: calling
 /usr/bin/usx2yloader for /proc/bus/usb/003/006
 Jan 10 12:50:15 serrano /etc/hotplug/usb/tascam_fpga: starting  for
 /proc/bus/usb/003/006
 Jan 10 12:50:15 serrano /etc/hotplug/usb/tascam_fpga: leaving



---
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] Re: usx2y: known problems with us122 and alsa-drivers-1.0.1?

2004-01-11 Thread Karsten Wiese
you might also try 2.6.1-mm1. ALSA 1.0.1 is integrated there, IIUC!

regards, Karsten



---
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] [PATCH]snd-usb-usx2y.patch.0.4.1

2003-12-30 Thread Karsten Wiese
Hi Jaroslav,

this fixes 24Bit 4Channel capturing.
Please commit.

Thanks,
Karsten
Index: usbusx2y.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.c,v
retrieving revision 1.4
diff -u -r1.4 usbusx2y.c
--- usbusx2y.c	2 Dec 2003 10:15:02 -	1.4
+++ usbusx2y.c	30 Dec 2003 13:21:03 -
@@ -1,6 +1,10 @@
 /*
  * usbus428.c - ALSA USB US-428 Driver
  *
+2003-12-30 Karsten Wiese
+	Version 0.4.1:
+	Fix 24Bit 4Channel capturing for the us428.
+
 2003-11-27 Karsten Wiese, Martin Langer
 	Version 0.4:
 	us122 support.
@@ -85,7 +89,7 @@
 
 
 MODULE_AUTHOR(Karsten Wiese [EMAIL PROTECTED]);
-MODULE_DESCRIPTION(TASCAM NAME_ALLCAPS Version 0.4);
+MODULE_DESCRIPTION(TASCAM NAME_ALLCAPS Version 0.4.1);
 MODULE_LICENSE(GPL);
 MODULE_CLASSES({sound});
 MODULE_DEVICES({{TASCAM(0x1604), NAME_ALLCAPS(0x8001)(0x8007) }});
Index: usbusx2yaudio.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2yaudio.c,v
retrieving revision 1.4
diff -u -r1.4 usbusx2yaudio.c
--- usbusx2yaudio.c	5 Dec 2003 08:06:19 -	1.4
+++ usbusx2yaudio.c	30 Dec 2003 13:21:05 -
@@ -141,13 +141,22 @@
  * copy the data from each desctiptor to the pcm buffer, and
  * update the current position.
  */
-static void framecpy_4c(int* p_dma_area, int* cp, int cnt)
+static void framecpy_4c_16(unsigned char *p_dma_area, unsigned char *cp, int cnt)
 {
 	do{
-		*p_dma_area = *cp;
-		p_dma_area += 2;
-		cp++;
-	}while (--cnt);
+		*(int *)p_dma_area = *(int *)cp;
+		p_dma_area += 8;
+		cp += 4;
+	} while (--cnt);
+}
+
+static void framecpy_4c_24(unsigned char *p_dma_area, unsigned char *cp, int cnt)
+{
+	do{
+		memcpy(p_dma_area, cp, 6);
+		p_dma_area +=  12;
+		cp += 6;
+	} while (--cnt);
 }
 
 static int snd_usX2Y_urb_capt_retire(snd_usX2Y_substream_t *subs,
@@ -158,6 +167,10 @@
 	unsigned char	*cp;
 	int 		i, len, lens = 0, hwptr_done = subs-hwptr_done;
 	usX2Ydev_t	*usX2Y = subs-stream-usX2Y;
+	void (*fourc_cpy)(unsigned char* p_dma_area, unsigned char* cp, int cnt) = 0;
+
+	if (runtime-channels == 4)
+		fourc_cpy = usX2Y-stride == 4 ? framecpy_4c_16 : framecpy_4c_24;
 
 	for (i = 0; i  NRPACKS; i++) {
 		cp = (unsigned char*)urb-transfer_buffer + urb-iso_frame_desc[i].offset;
@@ -200,21 +213,21 @@
 		/* copy a data chunk */
 		if ((hwptr_done + len)  runtime-buffer_size) {
 			int cnt = runtime-buffer_size - hwptr_done;
-			if (runtime-channels != 4) {
+			if (fourc_cpy) {
+unsigned char *p_dma_area = runtime-dma_area + (urb-pipe == subs-datapipe[0] ? 0 : usX2Y-stride);
+fourc_cpy(p_dma_area + hwptr_done * usX2Y-stride * 2, cp, cnt);
+fourc_cpy(p_dma_area, cp + cnt * usX2Y-stride, len - cnt);
+			} else {
 int blen = cnt * usX2Y-stride;
 memcpy(runtime-dma_area + hwptr_done * usX2Y-stride, cp, blen);
 memcpy(runtime-dma_area, cp + blen, len * usX2Y-stride - blen);
-			} else {
-int* p_dma_area = (int*)runtime-dma_area + (urb-pipe == subs-datapipe[0] ? 0 : 1);
-framecpy_4c(p_dma_area + hwptr_done * 2, (int*)cp, cnt);
-framecpy_4c(p_dma_area, (int*)cp + cnt, len - cnt);
 			}
 		} else {
-			if (runtime-channels != 4) {
-memcpy(runtime-dma_area + hwptr_done * usX2Y-stride, cp, len * usX2Y-stride);
+			if (fourc_cpy) {
+unsigned char *p_dma_area = runtime-dma_area + (urb-pipe == subs-datapipe[0] ? 0 : usX2Y-stride);
+fourc_cpy(p_dma_area + hwptr_done * usX2Y-stride * 2, cp, len);
 			} else {
-int* p_dma_area = (int*)runtime-dma_area + (urb-pipe == subs-datapipe[0] ? 0 : 1);
-framecpy_4c(p_dma_area + hwptr_done * 2, (int*)cp, len);
+memcpy(runtime-dma_area + hwptr_done * usX2Y-stride, cp, len * usX2Y-stride);
 			}
 		}
 		lens += len;
@@ -290,7 +303,8 @@
 	} else {
 		/* set the buffer pointer */
 		urb-transfer_buffer = runtime-dma_area + subs-hwptr * usX2Y-stride;
-		subs-hwptr += count;
+		if ((subs-hwptr += count) = runtime-buffer_size)
+			subs-hwptr -= runtime-buffer_size;			
 	}
 	spin_unlock_irqrestore(subs-lock, flags);
 	urb-transfer_buffer_length = count * usX2Y-stride;


[Alsa-devel] Re: [PATCH]snd-usb-usx2y

2003-12-04 Thread Karsten Wiese
Am Donnerstag, 4. Dezember 2003 20:30 schrieb Martin Langer:

 Karsten, your us428 fix breaks us122 support.
 usX2Y_rate_set(usX2Y_stream, 44100)) isn't possible on us122.


usX2Y_rate_set() is being called when you start audio also.
So audio stops working on the us122 with this patch?
Would it work with 48000 instead of 44100?

Karsten



---
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] Re: [PATCH]snd-usb-usx2y

2003-12-04 Thread Karsten Wiese
Am Donnerstag, 4. Dezember 2003 23:46 schrieb Martin Langer:
 On Thu, Dec 04, 2003 at 11:02:14PM +0100, Karsten Wiese wrote:
  Am Donnerstag, 4. Dezember 2003 20:30 schrieb Martin Langer:
   Karsten, your us428 fix breaks us122 support.
   usX2Y_rate_set(usX2Y_stream, 44100)) isn't possible on us122.
 
  usX2Y_rate_set() is being called when you start audio also.
  So audio stops working on the us122 with this patch?
  Would it work with 48000 instead of 44100?

 no success with both frequencies. it produces the same error:
 ALSA usX2Yhwdep.c:315: snd_us428_create_alsa_devices error -19

 I guess we have to check the device id here and allow this only in case of
 ID=8001.


The attached patch against CVS-HEAD does that.
Please try it. If us122 works again, ask Jaroslav to commit it, as Takashi is 
on vacation.

Best,
Karsten
Index: alsa-driver/usb/usx2y/usbusx2yaudio.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2yaudio.c,v
retrieving revision 1.3
diff -u -r1.3 usbusx2yaudio.c
--- alsa-driver/usb/usx2y/usbusx2yaudio.c	2 Dec 2003 10:15:02 -	1.3
+++ alsa-driver/usb/usx2y/usbusx2yaudio.c	4 Dec 2003 23:24:00 -
@@ -1224,9 +1224,12 @@
 
 	sprintf(pcm-name, NAME_ALLCAPS Audio #%d, usX2Y(card)-chip.pcm_devs);
 
-	if (0  (err = snd_pcm_lib_preallocate_pages(pcm-streams[SNDRV_PCM_STREAM_PLAYBACK].substream,  64*1024, 128*1024, GFP_KERNEL))
-	|| 0  (err = snd_pcm_lib_preallocate_pages(pcm-streams[SNDRV_PCM_STREAM_CAPTURE].substream ,  usX2Y_capt_substream-endpoints * 64*1024, usX2Y_capt_substream-endpoints * 128*1024, GFP_KERNEL))
-	|| 0  (err = usX2Y_rate_set(usX2Y_stream, 44100))) {  // needed to make us428 recognize output-volume settings for direct-monitoring and master-pcm. shouldn't disturb other usx2y.
+	if (0  (err = snd_pcm_lib_preallocate_pages(pcm-streams[SNDRV_PCM_STREAM_PLAYBACK].substream, 64*1024, 128*1024, GFP_KERNEL)) ||
+	0  (err = snd_pcm_lib_preallocate_pages(pcm-streams[SNDRV_PCM_STREAM_CAPTURE].substream,
+			usX2Y_capt_substream-endpoints * 64*1024,
+			usX2Y_capt_substream-endpoints * 128*1024, GFP_KERNEL)) ||
+	(usX2Y(card)-chip.dev-descriptor.idProduct == USB_ID_US428 
+	 0  (err = usX2Y_rate_set(usX2Y_stream, 44100 {	// Lets us428 recognize output-volume settings, disturbs us122.
 		snd_usX2Y_audio_stream_free(usX2Y_stream);
 		return err;
 	}


[Alsa-devel] [PATCH]only start us428control if an us428 listens

2003-12-03 Thread Karsten Wiese
Hi Takashi,

please commit. thanks!

Karsten



Index: alsa-tools/usx2yloader/tascam_fpga.in
===
RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/tascam_fpga.in,v
retrieving revision 1.2
diff -u -r1.2 tascam_fpga.in
--- alsa-tools/usx2yloader/tascam_fpga.in	2 Dec 2003 11:57:06 -	1.2
+++ alsa-tools/usx2yloader/tascam_fpga.in	3 Dec 2003 21:54:27 -
@@ -1,18 +1,45 @@
 #!/bin/sh
-# load the firmware into Tascam USB devices (FPGA design)
+# load the firmware into Tascam USB devices (FPGA design),
+# start appropriate control application.
 
 [EMAIL PROTECTED]@
 [EMAIL PROTECTED]@
 
 [EMAIL PROTECTED]@/usx2yloader
+CONTROLLER=
 
-if [ -x /usr/bin/logger ]; then
-	/usr/bin/logger -t $0 calling $LOADER for $DEVICE
+if [ -x $LOADER ]; then
+	if [ -x /usr/bin/logger ]; then
+		/usr/bin/logger -t $0 calling $LOADER for $DEVICE
+	fi
+	$LOADER
+else
+	if [ -x /usr/bin/logger ]; then
+		/usr/bin/logger -t $0 missing $LOADER for $DEVICE
+	fi
 fi
-$LOADER
-if [ -x @bindir@/us428control ]; then
-	@bindir@/us428control 
+
+case $PRODUCT in
+1604/8001/*)
+	[EMAIL PROTECTED]@/us428control
+	;;
+*)
+	;;
+esac
+
+if [ -n $CONTROLLER ]; then
+	if [ -x $CONTROLLER ]; then
+		if [ -x /usr/bin/logger ]; then
+			/usr/bin/logger -t $0 starting $CONTROLLER for $DEVICE
+		fi
+		$CONTROLLER 
+	else
+		if [ -x /usr/bin/logger ]; then
+			/usr/bin/logger -t $0 missing $CONTROLLER for $DEVICE
+		fi
+	fi
 fi
+
 if [ -x /usr/bin/logger ]; then
 	/usr/bin/logger -t $0 leaving
 fi


[Alsa-devel] [PATCH]usx2yloader hotplugging in HEAD

2003-12-02 Thread Karsten Wiese
Hi Takashi,

Please commit this to reenable usx2yloader hotplugging:

Index: alsa-tools/usx2yloader/tascam_fw
===
RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/tascam_fw,v
retrieving revision 1.1
diff -u -r1.1 tascam_fw
--- alsa-tools/usx2yloader/tascam_fw23 Sep 2003 14:16:23 -  1.1
+++ alsa-tools/usx2yloader/tascam_fw2 Dec 2003 07:46:08 -
@@ -3,7 +3,7 @@
 # load the firmware into Tascam USB devices
 
 FIRMWARE=
-FIRMWAREDIR=/usr/local/share/alsa/firmware
+FIRMWAREDIR=/usr/local/share/alsa/firmware/usx2yloader
 FLAGS=
 LOADER=/sbin/fxload
 LOADERFIRMWARE=$FIRMWAREDIR/tascam_loader.ihx


Later there should also be some magic to (not) include the /local substring, 
I don't know yet how to do that; anybody?

Thanks, 
Karsten




---
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] Re: [PATCH]usx2yloader hotplugging in HEAD

2003-12-02 Thread Karsten Wiese
Am Dienstag, 2. Dezember 2003 11:05 schrieb Takashi Iwai:
 At Tue, 2 Dec 2003 09:31:32 +0100,


 fixed on cvs.
 tascam_fw and tascam_fpga will be generated via configure script now.
 the diff is attached below.  please give a try.

Tried succesfully!

Thanks,
Karsten



---
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] [PATCH]us428control.patch.0.4.1

2003-12-02 Thread Karsten Wiese
Hi Takashi,

Two Segmentation fault spots cleared.

Please commit. Thanks,
Karsten
Index: alsa-tools/us428control/Cus428State.cc
===
RCS file: /cvsroot/alsa/alsa-tools/us428control/Cus428State.cc,v
retrieving revision 1.2
diff -u -r1.2 Cus428State.cc
--- alsa-tools/us428control/Cus428State.cc	24 Oct 2003 14:01:45 -	1.2
+++ alsa-tools/us428control/Cus428State.cc	2 Dec 2003 17:41:06 -
@@ -38,7 +38,8 @@
 
 void Cus428State::InitDevice(void)
 {
-	SliderChangedTo(eFaderM, ((unsigned char*)(us428ctls_sharedmem-CtlSnapShot + us428ctls_sharedmem-CtlSnapShotLast))[eFaderM]);
+	if (us428ctls_sharedmem-CtlSnapShotLast = 0)
+		SliderChangedTo(eFaderM, ((unsigned char*)(us428ctls_sharedmem-CtlSnapShot + us428ctls_sharedmem-CtlSnapShotLast))[eFaderM]);
 }
 
 
Index: alsa-tools/us428control/Cus428_ctls.cc
===
RCS file: /cvsroot/alsa/alsa-tools/us428control/Cus428_ctls.cc,v
retrieving revision 1.2
diff -u -r1.2 Cus428_ctls.cc
--- alsa-tools/us428control/Cus428_ctls.cc	24 Oct 2003 14:01:45 -	1.2
+++ alsa-tools/us428control/Cus428_ctls.cc	2 Dec 2003 17:41:06 -
@@ -36,26 +36,29 @@
 }
 
 void 
-Cus428_ctls::analyse(Cus428_ctls Previous, unsigned n)
+Cus428_ctls::analyse(Cus428_ctls *Previous, unsigned n)
 {
+	Cus428_ctls *PreviousL = Previous ? Previous : new Cus428_ctls();
 	OneState-Set_us428_ctls(this);
 	for (; n  9; n++) {			//Sliders
-		char Diff = ((unsigned char*)this)[n] - ((unsigned char*)Previous)[n];
+		char Diff = DiffValAt(PreviousL, n);
 		if (Diff)
-			OneState-SliderChangedTo(n, ((unsigned char*)this)[n]);		
+			OneState-SliderChangedTo(n, ValAt(n));		
 	}
 	for (; n  16; n++) {			//Knobs
-		unsigned char Diff = ((unsigned char*)this)[n] ^ ((unsigned char*)Previous)[n];
+		unsigned char Diff = DiffBitAt(PreviousL, n);
 		unsigned o = 0;
 		while (o  8) {
 			if (Diff  (1  o))
-OneState-KnobChangedTo((Cus428State::eKnobs)(8*n + o), ((unsigned char*)this)[n]  (1  o));
+OneState-KnobChangedTo((Cus428State::eKnobs)(8*n + o), ValAt(n)  (1  o));
 			++o;
 		}
 	}
 	for (; n  sizeof(*this); n++) {	//wheels
-		char Diff = ((unsigned char*)this)[ n] - ((unsigned char*)Previous)[n];
+		char Diff = DiffValAt(PreviousL, n);
 		if (Diff)
 			OneState-WheelChangedTo((E_In84)n, Diff);
-	}	
+	}
+	if (0 == Previous)
+		delete PreviousL;
 }
Index: alsa-tools/us428control/Cus428_ctls.h
===
RCS file: /cvsroot/alsa/alsa-tools/us428control/Cus428_ctls.h,v
retrieving revision 1.2
diff -u -r1.2 Cus428_ctls.h
--- alsa-tools/us428control/Cus428_ctls.h	24 Oct 2003 14:01:45 -	1.2
+++ alsa-tools/us428control/Cus428_ctls.h	2 Dec 2003 17:41:06 -
@@ -25,10 +25,23 @@
 
 class Cus428_ctls: public us428_ctls{
  public:
+	Cus428_ctls() {
+		memset(this, 0, sizeof(*this));
+	}
 	void dump(int n = 0);
-	void analyse(Cus428_ctls Previous, unsigned n = 0);
+	void analyse(Cus428_ctls *Previous, unsigned n = 0);
 	bool Knob( int K) {
 		return ((char*)this)[K / 8]  (1  K % 8);
+	}
+ protected:
+	unsigned char ValAt(int i) {
+		return ((unsigned char*)this)[i];
+	}
+	unsigned char DiffValAt(Cus428_ctls *Other, int i) {
+		return ValAt(i) - Other-ValAt(i);
+	}
+	unsigned char DiffBitAt(Cus428_ctls *Other, int i) {
+		return ValAt(i) ^ Other-ValAt(i);
 	}
 };
 
Index: alsa-tools/us428control/configure.in
===
RCS file: /cvsroot/alsa/alsa-tools/us428control/configure.in,v
retrieving revision 1.4
diff -u -r1.4 configure.in
--- alsa-tools/us428control/configure.in	25 Nov 2003 17:14:03 -	1.4
+++ alsa-tools/us428control/configure.in	2 Dec 2003 17:41:06 -
@@ -1,5 +1,5 @@
 AC_INIT(us428control.cc)
-AM_INIT_AUTOMAKE(us428control, 0.4)
+AM_INIT_AUTOMAKE(us428control, 0.4.1)
 AC_PROG_CXX
 AC_PROG_INSTALL
 AC_HEADER_STDC
Index: alsa-tools/us428control/us428control.cc
===
RCS file: /cvsroot/alsa/alsa-tools/us428control/us428control.cc,v
retrieving revision 1.2
diff -u -r1.2 us428control.cc
--- alsa-tools/us428control/us428control.cc	24 Oct 2003 14:01:45 -	1.2
+++ alsa-tools/us428control/us428control.cc	2 Dec 2003 17:41:06 -
@@ -121,14 +121,16 @@
 		if (verbose  1)
 			printf(Last is %i\n, Last);
 		while (us428ctls_sharedmem-CtlSnapShotRed != Last) {
+			static Cus428_ctls *Red = 0;
 			int Read = us428ctls_sharedmem-CtlSnapShotRed + 1;
-			if (Read = N_us428_ctl_BUFS)
+			if (Read = N_us428_ctl_BUFS || Read  0)
 Read = 0;
 			Cus428_ctls* PCtlSnapShot = ((Cus428_ctls*)(us428ctls_sharedmem-CtlSnapShot)) + Read;
 			int DiffAt = us428ctls_sharedmem-CtlSnapShotDiffersAt[Read];
 			if (verbose  1)
 PCtlSnapShot-dump(DiffAt);
-			PCtlSnapShot-analyse(((Cus428_ctls*)(us428ctls_sharedmem-CtlSnapShot))[us428ctls_sharedmem-CtlSnapShotRed], DiffAt );
+			PCtlSnapShot-analyse(Red, DiffAt);
+			Red = 

[Alsa-devel] [PATCH]snd-usb-usx2y

2003-11-27 Thread Karsten Wiese
Hi,

this fixes an us428 error that crept in during us122 merge.
Please commit with comment:
- Start devices audio-engine on driver startup.
- Prepare for us224 - Tests.

Thanks,
Karsten
Index: alsa-driver/usb/usx2y/usbusx2y.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.c,v
retrieving revision 1.2
diff -u -r1.2 usbusx2y.c
--- alsa-driver/usb/usx2y/usbusx2y.c	26 Nov 2003 10:01:28 -	1.2
+++ alsa-driver/usb/usx2y/usbusx2y.c	27 Nov 2003 14:32:23 -
@@ -1,6 +1,11 @@
 /*
  * usbus428.c - ALSA USB US-428 Driver
  *
+2003-11-27 Karsten Wiese, Martin Langer
+	Version 0.4:
+	us122 support.
+	us224 could be tested by uncommenting the sections containing USB_ID_US224
+
 2003-11-03 Karsten Wiese
 	Version 0.3:
 	24Bit support. 
@@ -229,6 +234,11 @@
 		.idVendor =	0x1604,
 		.idProduct =	USB_ID_US122 
 	},
+/* 	{ FIXME: uncomment  to test us224 support*/
+/* 		.match_flags =	USB_DEVICE_ID_MATCH_DEVICE, */
+/* 		.idVendor =	0x1604, */
+/* 		.idProduct =	USB_ID_US224  */
+/* 	}, */
 	{ /* terminator */ }
 };
 
@@ -268,7 +278,7 @@
 	int		err;
 	snd_card_t*	card;
 	if (device-descriptor.idVendor != 0x1604 ||
-	(device-descriptor.idProduct != USB_ID_US122  device-descriptor.idProduct != USB_ID_US428) ||
+	(device-descriptor.idProduct != USB_ID_US122  /* device-descriptor.idProduct != USB_ID_US224  */ device-descriptor.idProduct != USB_ID_US428) ||
 	!(card = snd_usX2Y_create_card(device)))
 		return 0;
 	if ((err = snd_usX2Y_hwdep_new(card, device))  0  ||
Index: alsa-driver/usb/usx2y/usbusx2yaudio.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2yaudio.c,v
retrieving revision 1.1
diff -u -r1.1 usbusx2yaudio.c
--- alsa-driver/usb/usx2y/usbusx2yaudio.c	25 Nov 2003 11:21:49 -	1.1
+++ alsa-driver/usb/usx2y/usbusx2yaudio.c	27 Nov 2003 14:32:25 -
@@ -1225,7 +1225,8 @@
 	sprintf(pcm-name, NAME_ALLCAPS Audio #%d, usX2Y(card)-chip.pcm_devs);
 
 	if (0  (err = snd_pcm_lib_preallocate_pages(pcm-streams[SNDRV_PCM_STREAM_PLAYBACK].substream,  64*1024, 128*1024, GFP_ATOMIC))
-	|| 0  (err = snd_pcm_lib_preallocate_pages(pcm-streams[SNDRV_PCM_STREAM_CAPTURE].substream ,  usX2Y_capt_substream-endpoints * 64*1024, usX2Y_capt_substream-endpoints * 128*1024, GFP_ATOMIC))) {
+	|| 0  (err = snd_pcm_lib_preallocate_pages(pcm-streams[SNDRV_PCM_STREAM_CAPTURE].substream ,  usX2Y_capt_substream-endpoints * 64*1024, usX2Y_capt_substream-endpoints * 128*1024, GFP_ATOMIC))
+	|| 0  (err = usX2Y_rate_set(usX2Y_stream, 44100))) {  // needed to make us428 recognize output-volume settings for direct-monitoring and master-pcm. shouldn't disturb other usx2y.
 		snd_usX2Y_audio_stream_free(usX2Y_stream);
 		return err;
 	}


Re: [Alsa-devel] Tascam US-122: tascam_firmware-0.1 and alsa-firmware

2003-11-27 Thread Karsten Wiese
Am Donnerstag, 27. November 2003 15:35 schrieb JoDaY:
 Hi,

 I've succesfully installed tascam_firmware-0.1 from
 http://usb-midi-fw.sf.net :
this is not needed anymore. please try alsa-tools/usx2yloader from cvs or 
1.0.0pre3. 
It is based an the works of usb-midi-fw.sf.net (Thanks !!) and integrates with 
alsa hwdep-layer and hotplug.

 The Tascam US-122 is LED lighted, the firmwares are loaded.(by hotplug)

 I've just compiled cvs version of alsa (2003/11/27)

 All seems ok: lsmod command show this modules:

 snd-usb-usx2y
 snd-usb-audio
 snd-rawmidi
 snd-seq-device
 snd-pcm
 snd-timer
 snd-hwdep
 snd-page-alloc
 snd
 usbcore

 May I ask you if the alsa-firmware and tascam_firmware-0.1 meet them in
 conflict ?
don't really remember. usx2yloader uses the alsa hwdep-layer to download the 
firmware. please try usx2yloader.

 I can see a link USX2Y in /proc/asound wich point to card0.

 But I can't see it in any mixer: alsamixer return No mixer elems found.
there is no mixer support yet. but it is certainly implementable ;-)


 Thanks for your great work!
you're welcome!

Karsten



---
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] [PATCH]snd-usb-usx2y

2003-11-27 Thread Karsten Wiese
Am Donnerstag, 27. November 2003 15:44 schrieb Karsten Wiese:
 Hi,

 this fixes an us428 error that crept in during us122 merge.
 Please commit with comment:
 - Start devices audio-engine on driver startup.
should be:
- Start device's audio-engine on driver startup.
 - Prepare for us224 - Tests.

 Thanks,
 Karsten



---
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] [PATCH]Firmware for us122 us224 Part1

2003-11-25 Thread Karsten Wiese
Hi Takashi,

to complete support for us122 and make it easy for developers to add us224 
support, please commit this stuff to alsa-tools/usx2yloader.

Thanks,
Karsten
Index: alsa-tools/usx2yloader/firmware/Makefile.am
===
RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/firmware/Makefile.am,v
retrieving revision 1.2
diff -u -r1.2 Makefile.am
--- alsa-tools/usx2yloader/firmware/Makefile.am	23 Sep 2003 14:16:23 -	1.2
+++ alsa-tools/usx2yloader/firmware/Makefile.am	25 Nov 2003 12:39:22 -
@@ -1,4 +1,9 @@
-cfg_files = us428.conf us428.prepad us428.rbt tascam_loader.ihx us428fw.ihx
+cfg_files = 	us122.conf us224.conf us428.conf \
+		usx2y.prepad us428.prepad \
+		us122.rbt us224.rbt us428.rbt \
+		tascam_loader.ihx \
+		us122fw.ihx us224fw.ihx us428fw.ihx
+
 EXTRA_DIST = $(cfg_files)
 
 firmwaredir = $(datadir)/alsa/firmware


usx2yloader_firmware_122.tar.bz2
Description: application/tbz


[Alsa-devel] [PATCH]Firmware for us122 us224 Part2

2003-11-25 Thread Karsten Wiese
Hi Takashi,

to complete support for us122 and make it easy for developers to add us224
support, please commit this stuff to alsa-tools/usx2yloader.

Thanks,
Karsten


usx2yloader_firmware_224.tar.bz2
Description: application/tbz


[Alsa-devel] [PATCH]against cvs: us122 support in snd-usb-us428

2003-11-24 Thread Karsten Wiese
Hi,

would you please give this a try an your us122s?
I integrated Martins stuff into mine. us428 still works here.
besides patching you'll need to copy the attached header into 
alsa-driver/usb/us428.
you'll probaply also still need Martin's patched usx2yloader  infrastructure 
files.

Gruesse,
Karsten
#ifndef USBUSX2Y_H
#define USBUSX2Y_H
#include linux/usb.h
#include ../../alsa-kernel/usb/usbaudio.h
#include usbus428ctldefs.h 

#define NRURBS	2	/* */
#define NRPACKS		1	/* usb-frames/ms per urb */

#ifndef LINUX_2_2
typedef struct urb urb_t;
typedef struct urb* purb_t;
#endif

#define URBS_AsyncSeq 10
#define URB_DataLen_AsyncSeq 32
typedef struct {
	urb_t*	urb[URBS_AsyncSeq];
	char*   buffer;
} snd_usX2Y_AsyncSeq_t;

typedef struct {
	int	submitted;
	int	len;
	urb_t*	urb[0];
} snd_usX2Y_urbSeq_t;


typedef struct {
	snd_usb_audio_t 	chip;
	int			stride;
	purb_t			In04urb;
	void*			In04Buf;
	char			In04Last[24];
	unsigned		In04IntCalls;
	snd_usX2Y_urbSeq_t*	US04;
	int			Seq04;
	int 			Seq04Complete;
	wait_queue_head_t	In04WaitQueue;
	snd_usX2Y_AsyncSeq_t	AS04;
	unsigned int		rate,
format;
	int			refframes;
	purb_t			play_urb_waiting[2];
	int			pipe0Aframes[NRURBS][NRPACKS];
	snd_hwdep_t*		hwdep;
	int			chip_status;
	struct semaphore	open_mutex;
	us428ctls_sharedmem_t*	us428ctls_sharedmem;
	wait_queue_head_t	us428ctls_wait_queue_head;
} usX2Ydev_t;


#define usX2Y(c) ((usX2Ydev_t*)(c)-private_data)

int snd_usX2Y_audio_create(snd_card_t* card);

#ifndef OLD_USB
void snd_usX2Y_Out04Int(urb_t* urb, struct pt_regs *regs);
void snd_usX2Y_In04Int(urb_t* urb, struct pt_regs *regs);
#else
void snd_usX2Y_Out04Int(urb_t* urb);
void snd_usX2Y_In04Int(urb_t* urb);
#endif

#ifndef CONFIG_SND_DEBUG
#define snd_usX2Y_Out04Int 0
#endif

#define NAME_ALLCAPS US-X2Y

#endif


snd-usb-us428+us122.patch.tar.bz2
Description: application/tbz


[Alsa-devel] [PATCH]against cvs: us122 and us428 support in snd-usb-usx2y

2003-11-24 Thread Karsten Wiese
Hi Takashi,

from the version, Werner tested, I only changed filenames to the 'usx2y'.
So please commit snd-usb-usx2y_alsacvs.patch and cp the content of 
snd-usb-usx2y.tar.bz2 into alsa-driver/usb (thats also commit? ;-).
alsa-driver/usb/us428 is obsoleted then.

Thanks,
Karsten

Am Montag, 24. November 2003 21:50 schrieb Werner Schweer:
 On Monday 24 November 2003 14:37, Karsten Wiese wrote:
  Hi,
 
  would you please give this a try an your us122s?
  I integrated Martins stuff into mine. us428 still works here.
  besides patching you'll need to copy the attached header into
  alsa-driver/usb/us428.
  you'll probaply also still need Martin's patched usx2yloader 
  infrastructure files.

 it works! Tested with US-122: audio recording/play, midi play

 Werner

Index: alsa-driver/INSTALL
===
RCS file: /cvsroot/alsa/alsa-driver/INSTALL,v
retrieving revision 1.149
diff -u -r1.149 INSTALL
--- alsa-driver/INSTALL	10 Nov 2003 17:32:36 -	1.149
+++ alsa-driver/INSTALL	24 Nov 2003 21:41:25 -
@@ -214,10 +214,10 @@
 
 Module supports up to 8 cards.
 
-  Module snd-usb-us428
+  Module snd-usb-usx2y
   
 
-Module for Tascam USB US-428 device.
+Module for Tascam USB US-122 and US-428 devices.
 
 This module supports up to 8 cards, autoprobe and hotplugging.
 
Index: alsa-driver/acore/Makefile
===
RCS file: /cvsroot/alsa/alsa-driver/acore/Makefile,v
retrieving revision 1.32
diff -u -r1.32 Makefile
--- alsa-driver/acore/Makefile	11 Nov 2003 13:12:15 -	1.32
+++ alsa-driver/acore/Makefile	24 Nov 2003 21:41:25 -
@@ -11,7 +11,7 @@
 obj-$(CONFIG_SND_MIXART) += snd-pcm.o snd-timer.o snd-page-alloc.o snd.o snd-hwdep.o
 obj-$(CONFIG_SND_SERIALMIDI) += snd-rawmidi.o snd.o
 obj-$(CONFIG_SND_MSND_PINNACLE) += snd-pcm.o snd-timer.o snd-page-alloc.o snd.o snd-rawmidi.o
-obj-$(CONFIG_SND_USB_US428) += snd-pcm.o snd-timer.o snd-page-alloc.o snd.o snd-rawmidi.o snd-hwdep.o
+obj-$(CONFIG_SND_USB_USX2Y) += snd-pcm.o snd-timer.o snd-page-alloc.o snd.o snd-rawmidi.o snd-hwdep.o
 obj-$(CONFIG_SND_AU8810) += snd-pcm.o snd-timer.o snd-page-alloc.o snd.o snd-rawmidi.o snd-hwdep.o
 obj-$(CONFIG_SND_AU8820) += snd-pcm.o snd-timer.o snd-page-alloc.o snd.o snd-rawmidi.o snd-hwdep.o
 obj-$(CONFIG_SND_AU8830) += snd-pcm.o snd-timer.o snd-page-alloc.o snd.o snd-rawmidi.o snd-hwdep.o
Index: alsa-driver/include/amagic.h
===
RCS file: /cvsroot/alsa/alsa-driver/include/amagic.h,v
retrieving revision 1.10
diff -u -r1.10 amagic.h
--- alsa-driver/include/amagic.h	6 Oct 2003 14:01:00 -	1.10
+++ alsa-driver/include/amagic.h	24 Nov 2003 21:41:25 -
@@ -6,7 +6,7 @@
 #define snd_msndpinnacle_pcm_t_magic		0xa25a3e01
 #define msndmidi_t_magic			0xa25a3e02
 #define pdacf_t_magic0xa25a3f00
-#define snd_us428_stream_t_magic0xa25a5e03
+#define snd_usX2Y_stream_t_magic0xa25a5e03
 #define vortex_t_magic0xa25a4001
 
 #endif
Index: alsa-driver/usb/Makefile
===
RCS file: /cvsroot/alsa/alsa-driver/usb/Makefile,v
retrieving revision 1.12
diff -u -r1.12 Makefile
--- alsa-driver/usb/Makefile	11 Nov 2003 13:12:34 -	1.12
+++ alsa-driver/usb/Makefile	24 Nov 2003 21:41:27 -
@@ -10,7 +10,7 @@
 # for compatibility
 extra-snd-usb-audio-objs := usbcompat.o
 
-obj-$(CONFIG_SND) += us428/
+obj-$(CONFIG_SND) += usx2y/
 
 export-objs := usbaudio.o usbmidi.o
 
Index: alsa-driver/utils/Modules.dep
===
RCS file: /cvsroot/alsa/alsa-driver/utils/Modules.dep,v
retrieving revision 1.26
diff -u -r1.26 Modules.dep
--- alsa-driver/utils/Modules.dep	6 Oct 2003 14:01:07 -	1.26
+++ alsa-driver/utils/Modules.dep	24 Nov 2003 21:41:27 -
@@ -17,8 +17,8 @@
 %dir linux/sound/pcmcia/pdaudiocf
 |snd-pdaudiocf snd-pcm
 
-%dir linux/sound/usb/us428
-|snd-usb-us428 snd-usb-audio snd-hwdep
+%dir linux/sound/usb/usx2y
+|snd-usb-usx2y snd-usb-audio snd-hwdep
 
 %dir linux/sound/pci/au88x0
 |snd-au8810 snd-pcm snd-ac97-codec snd-mpu401-uart


snd-usb-usx2y.tar.bz2
Description: application/tbz


[Alsa-devel] [PATCH]snd-usb-us428.patch.0.3

2003-11-03 Thread Karsten Wiese
Hi Takashi,

please commit this with Comment:

24Bit in 3Bytes (S24_3LE) support.


Danke, 
Karsten
Index: alsa-driver/usb/us428/usbus428.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/us428/usbus428.c,v
retrieving revision 1.6
diff -u -r1.6 usbus428.c
--- alsa-driver/usb/us428/usbus428.c	24 Oct 2003 13:58:47 -	1.6
+++ alsa-driver/usb/us428/usbus428.c	3 Nov 2003 10:55:22 -
@@ -1,6 +1,11 @@
 /*
  * usbus428.c - ALSA USB US-428 Driver
  *
+2003-11-03 Karsten Wiese
+	Version 0.3:
+	24Bit support. 
+	arecord -D hw:1 -c 2 -r 48000 -M -f S24_3LE|aplay -D hw:1 -c 2 -r 48000 -M -f S24_3LE works.
+
 2003-08-22 Karsten Wiese
 	Version 0.0.8:
 	Removed EZUSB Firmware. First Stage Firmwaredownload is now done by tascam-firmware downloader.
@@ -75,7 +80,7 @@
 
 
 MODULE_AUTHOR(Karsten Wiese [EMAIL PROTECTED]);
-MODULE_DESCRIPTION(TASCAM NAME_ALLCAPS Version 0.2);
+MODULE_DESCRIPTION(TASCAM NAME_ALLCAPS Version 0.3);
 MODULE_LICENSE(GPL);
 MODULE_CLASSES({sound});
 MODULE_DEVICES({{TASCAM(0x1604), NAME_ALLCAPS(0x8001) }});
@@ -226,18 +231,14 @@
 {
 	int		dev;
 	snd_card_t*	card;
-
 	for (dev = 0; dev  SNDRV_CARDS; ++dev)
 		if (enable[dev]  !snd_us428_card_used[dev])
 			break;
-
 	if (dev = SNDRV_CARDS)
 		return NULL;
-
 	card = snd_card_new(index[dev], id[dev], THIS_MODULE, sizeof(us428dev_t));
 	if (!card)
 		return NULL;
-
 	snd_us428_card_used[us428(card)-chip.index = dev] = 1;
 	card-private_free = snd_us428_card_private_free;
 	us428(card)-chip.dev = device;
@@ -245,7 +246,6 @@
 	init_MUTEX (us428(card)-open_mutex);
 	INIT_LIST_HEAD(us428(card)-chip.midi_list);
 	us428(card)-Seq04Complete = 1;
-	us428(card)-stride = 4;		// 16 Bit 
 	strcpy(card-driver, USB NAME_ALLCAPS);
 	sprintf(card-shortname, TASCAM NAME_ALLCAPS);
 	sprintf(card-longname, %s (%x:%x if %d at %03d/%03d),
@@ -258,25 +258,15 @@
 }
 
 
-static void* snd_us428_usb_probe(struct usb_device* device,
- struct usb_interface *intf,
- const struct usb_device_id* device_id)
+static void* snd_us428_usb_probe(struct usb_device* device, struct usb_interface *intf, const struct usb_device_id* device_id)
 {
 	int		err;
 	snd_card_t*	card;
-	
-			/* See if the device offered us matches what we can accept */
-	if (device-descriptor.idVendor != 0x1604 || device-descriptor.idProduct != 0x8001)
+	if (device-descriptor.idVendor != 0x1604 || device-descriptor.idProduct != 0x8001 ||
+	!(card = snd_us428_create_card(device)))
 		return 0;
-
-	if (!(card = snd_us428_create_card(device)))
-		return 0;
-
-	if ((err = snd_usX2Y_hwdep_new(card, device))  0) {
-		snd_card_free(card);
-		return 0;
-	}
-	if ((err = snd_card_register(card))  0) {
+	if ((err = snd_usX2Y_hwdep_new(card, device))  0  ||
+	(err = snd_card_register(card))  0) {
 		snd_card_free(card);
 		return 0;
 	}
@@ -287,8 +277,7 @@
 /*
  * new 2.5 USB kernel API
  */
-static int snd_us428_probe(struct usb_interface *intf,
-			   const struct usb_device_id *id)
+static int snd_us428_probe(struct usb_interface *intf, const struct usb_device_id *id)
 {
 	void *chip;
 	chip = snd_us428_usb_probe(interface_to_usbdev(intf), intf, id);
@@ -308,8 +297,7 @@
 /*
  * 2.4 USB kernel API
  */
-static void *snd_us428_probe(struct usb_device *dev, unsigned int ifnum,
-			 const struct usb_device_id *id)
+static void *snd_us428_probe(struct usb_device *dev, unsigned int ifnum, const struct usb_device_id *id)
 {
 	return snd_us428_usb_probe(dev, usb_ifnum_to_if(dev, ifnum), id);
 }
Index: alsa-driver/usb/us428/usbus428.h
===
RCS file: /cvsroot/alsa/alsa-driver/usb/us428/usbus428.h,v
retrieving revision 1.2
diff -u -r1.2 usbus428.h
--- alsa-driver/usb/us428/usbus428.h	24 Sep 2003 16:45:10 -	1.2
+++ alsa-driver/usb/us428/usbus428.h	3 Nov 2003 10:55:22 -
@@ -14,12 +14,12 @@
 
 #define URBS_AsyncSeq 10
 #define URB_DataLen_AsyncSeq 32
-typedef struct{
+typedef struct {
 	urb_t*	urb[URBS_AsyncSeq];
 	char*   buffer;
 } snd_us428_AsyncSeq_t;
 
-typedef struct{
+typedef struct {
 	int	submitted;
 	int	len;
 	urb_t*	urb[0];
@@ -38,7 +38,8 @@
 	int 			Seq04Complete;
 	wait_queue_head_t	In04WaitQueue;
 	snd_us428_AsyncSeq_t	AS04;
-	int			rate;
+	unsigned int		rate,
+format;
 	int			refframes;
 	purb_t			play_urb_waiting[2];
 	int			pipe0Aframes[NRURBS][NRPACKS];
Index: alsa-driver/usb/us428/usbus428audio.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/us428/usbus428audio.c,v
retrieving revision 1.6
diff -u -r1.6 usbus428audio.c
--- alsa-driver/usb/us428/usbus428audio.c	24 Oct 2003 13:58:47 -	1.6
+++ alsa-driver/usb/us428/usbus428audio.c	3 Nov 2003 10:55:24 -
@@ -47,6 +47,7 @@
 #include sound/core.h
 #include sound/info.h
 #include sound/pcm.h
+#include sound/pcm_params.h
 #include sound/initval.h
 #include usbus428.h
 
@@ -153,9 +154,9 @@
 			  struct urb *urb)
 {
 	unsigned long 	flags;
-	unsigned

[Alsa-devel] [PATCH]us428control.patch.0.4

2003-10-27 Thread Karsten Wiese
Hi Takashi,

please commit this with Comment:

Initialize Cus428State::SelectInputMonitor in Ctor.


Danke, 
Karsten
Index: alsa-tools/us428control/Cus428Midi.cc
===
RCS file: /cvsroot/alsa/alsa-tools/us428control/Cus428Midi.cc,v
retrieving revision 1.1
diff -u -r1.1 Cus428Midi.cc
--- alsa-tools/us428control/Cus428Midi.cc	24 Oct 2003 14:01:45 -	1.1
+++ alsa-tools/us428control/Cus428Midi.cc	27 Oct 2003 19:26:10 -
@@ -1,3 +1,22 @@
+/*
+ *
+ * Copyright (c) 2003 by Karsten Wiese [EMAIL PROTECTED]
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ */
+
 #include alsa/asoundlib.h
 #include Cus428Midi.h
 
Index: alsa-tools/us428control/Cus428Midi.h
===
RCS file: /cvsroot/alsa/alsa-tools/us428control/Cus428Midi.h,v
retrieving revision 1.1
diff -u -r1.1 Cus428Midi.h
--- alsa-tools/us428control/Cus428Midi.h	24 Oct 2003 14:01:45 -	1.1
+++ alsa-tools/us428control/Cus428Midi.h	27 Oct 2003 19:26:10 -
@@ -1,3 +1,22 @@
+/*
+ *
+ * Copyright (c) 2003 by Karsten Wiese [EMAIL PROTECTED]
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ */
+
 #include sound/asequencer.h
 #include Cus428State.h
 
Index: alsa-tools/us428control/Cus428State.h
===
RCS file: /cvsroot/alsa/alsa-tools/us428control/Cus428State.h,v
retrieving revision 1.2
diff -u -r1.2 Cus428State.h
--- alsa-tools/us428control/Cus428State.h	24 Oct 2003 14:01:45 -	1.2
+++ alsa-tools/us428control/Cus428State.h	27 Oct 2003 19:26:10 -
@@ -29,6 +29,8 @@
 		:us428ctls_sharedmem(Pus428ctls_sharedmem)
 		,MuteInputMonitor(0)
 		,Mute(0)
+		,SelectInputMonitor(0)
+		,Select(0)
 		,us428_ctls(0)
 		{
 			init_us428_lights();
Index: alsa-tools/us428control/configure.in
===
RCS file: /cvsroot/alsa/alsa-tools/us428control/configure.in,v
retrieving revision 1.2
diff -u -r1.2 configure.in
--- alsa-tools/us428control/configure.in	24 Oct 2003 14:01:45 -	1.2
+++ alsa-tools/us428control/configure.in	27 Oct 2003 19:26:10 -
@@ -1,5 +1,5 @@
 AC_INIT(us428control.cc)
-AM_INIT_AUTOMAKE(us428control, 0.3)
+AM_INIT_AUTOMAKE(us428control, 0.4)
 AC_PROG_CXX
 AC_PROG_INSTALL
 AC_HEADER_STDC


Re: [Alsa-devel] tascam us-122 : invalid synch pipe

2003-10-27 Thread Karsten Wiese
Am Montag, 27. Oktober 2003 22:43 schrieb Martin Langer:
 On Mon, Oct 27, 2003 at 12:33:46PM +0100, Takashi Iwai wrote:
  At Tue, 21 Oct 2003 23:52:55 +0200,
 
  Martin Langer wrote:
   ... at http://www.langerland.de/us122/driver.html
 
  any chance to merge us122 driver with us428 driver?
  they look quite similar...

 Yes, a common tascam driver should be possible  somehow.

 It's my goal to merge them together. But maybe someone else is more
 interested in this job than I. Karsten? Or any other volunteer?


 bye,
 martin
I'll check the merge on the us428, but prefer to actually code still missing 
features like spdif, 24bit and MIDI-Client for the us428's lights.
If somebody is willing to code the merge, would you, Takashi, setup a seperate 
cvs subdir alsa-driver/usb/usx2y for it? If the merge is finished, we could 
then discard usb/us428.
And... Is it possible for the merger (and the checker ;-) to have 
non-anonymous cvs-access (== shorter turn around times)?
I mean, just complete read-access + write-acces to alsa-driver/usb/usx2y only 
would be fine.

regards,
Karsten



---
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community?  Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] [Patch]snd-usb-us428.patch.0.2

2003-10-24 Thread Karsten Wiese
Hi Takashi,

This is a Bugfix (sporadic hangups solved), cosmetical treatment and 
feature-enhancement (Setting of PCM-Out Volume according to 
Mastervolume-Slider at device start).
Please commit.

tnx,
Karsten

Index: alsa-driver/usb/us428/usX2Yhwdep.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/us428/usX2Yhwdep.c,v
retrieving revision 1.2
diff -u -r1.2 usX2Yhwdep.c
--- alsa-driver/usb/us428/usX2Yhwdep.c	24 Sep 2003 16:45:10 -	1.2
+++ alsa-driver/usb/us428/usX2Yhwdep.c	23 Oct 2003 17:01:39 -
@@ -93,7 +93,7 @@
 		return -EBUSY;
 
 	/* if userspace tries to mmap beyond end of our buffer, fail */ 
-if (size  ((PAGE_SIZE - 1 + sizeof(us428ctls_sharedmem_t)) / PAGE_SIZE) * PAGE_SIZE){
+if (size  ((PAGE_SIZE - 1 + sizeof(us428ctls_sharedmem_t)) / PAGE_SIZE) * PAGE_SIZE) {
 		snd_printd( %i  %i\n, size,sizeof(us428ctls_sharedmem_t)); 
 return -EINVAL;
 	}
@@ -103,6 +103,7 @@
 		if(!(us428-us428ctls_sharedmem = snd_malloc_pages(sizeof(us428ctls_sharedmem_t), GFP_KERNEL)))
 			return -ENOMEM;
 		memset(us428-us428ctls_sharedmem, -1, sizeof(us428ctls_sharedmem_t));
+		us428-us428ctls_sharedmem-CtlSnapShotLast = -2;
 	}
 	area-vm_ops = us428ctls_vm_ops;
 #ifdef VM_RESERVED
@@ -174,11 +175,11 @@
 		i;
 	us428-Seq04 = 0;
 
-	if (NULL == (us428-AS04.buffer = kmalloc(URB_DataLen_AsyncSeq*URBS_AsyncSeq, GFP_KERNEL))){
+	if (NULL == (us428-AS04.buffer = kmalloc(URB_DataLen_AsyncSeq*URBS_AsyncSeq, GFP_KERNEL))) {
 		err = -ENOMEM;
 	}else
-		for (i = 0; i  URBS_AsyncSeq; ++i){
-			if (NULL == (us428-AS04.urb[i] = usb_alloc_urb(0, GFP_KERNEL))){
+		for (i = 0; i  URBS_AsyncSeq; ++i) {
+			if (NULL == (us428-AS04.urb[i] = usb_alloc_urb(0, GFP_KERNEL))) {
 err = -ENOMEM;
 break;
 			}
@@ -219,7 +220,7 @@
 	int err;
 
 	do {
-		if ((err = snd_us428_create_usbmidi(card))  0){
+		if ((err = snd_us428_create_usbmidi(card))  0) {
 			snd_printk(snd_us428_create_alsa_devices: snd_us428_create_usbmidi error %i \n, err);
 			break;
 		}
@@ -238,7 +239,7 @@
 	if (! (us428-In04urb = usb_alloc_urb(0, GFP_KERNEL)))
 		return -ENOMEM;
 
-	if (! (us428-In04Buf = kmalloc(21, GFP_KERNEL))){
+	if (! (us428-In04Buf = kmalloc(21, GFP_KERNEL))) {
 		usb_free_urb(us428-In04urb);
 		return -ENOMEM;
 	}
@@ -276,15 +277,15 @@
 	}
 	if (!err1 == dsp-index)
 		do {
-			if ((err = snd_us428_AsyncSeq04_init((us428dev_t*)hw-private_data))){
+			if ((err = snd_us428_AsyncSeq04_init((us428dev_t*)hw-private_data))) {
 snd_printk(snd_us428_AsyncSeq04_init error \n);
 break;
 			}
-			if ((err = snd_us428_In04_init((us428dev_t*)hw-private_data))){
+			if ((err = snd_us428_In04_init((us428dev_t*)hw-private_data))) {
 snd_printk(snd_us428_In04_init error \n);
 break;
 			}
-			if ((err = snd_us428_create_alsa_devices(hw-card))){
+			if ((err = snd_us428_create_alsa_devices(hw-card))) {
 snd_printk(snd_us428_create_alsa_devices error %i \n, err);
 snd_card_free(hw-card);
 break;
Index: alsa-driver/usb/us428/usbus428.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/us428/usbus428.c,v
retrieving revision 1.5
diff -u -r1.5 usbus428.c
--- alsa-driver/usb/us428/usbus428.c	6 Oct 2003 13:15:17 -	1.5
+++ alsa-driver/usb/us428/usbus428.c	23 Oct 2003 17:01:39 -
@@ -75,7 +75,7 @@
 
 
 MODULE_AUTHOR(Karsten Wiese [EMAIL PROTECTED]);
-MODULE_DESCRIPTION(TASCAM NAME_ALLCAPS Version 0.1);
+MODULE_DESCRIPTION(TASCAM NAME_ALLCAPS Version 0.2);
 MODULE_LICENSE(GPL);
 MODULE_CLASSES({sound});
 MODULE_DEVICES({{TASCAM(0x1604), NAME_ALLCAPS(0x8001) }});
@@ -131,22 +131,29 @@
 	
 	us428-In04IntCalls++;
 
-	if (urb-status){
+	if (urb-status) {
 		snd_printk( Interrupt Pipe 4 came back with status=%i\n, urb-status);
 		return;
 	}
 
-{
-		int diff = -1, i;
 	//	printk(%i:0x%02X , 8, (int)((unsigned char*)us428-In04Buf)[8]); Master volume shows 0 here if fader is at max during boot ?!?
-		for (i = 0; i  21; i++) {
-			if (us428-In04Last[i] != ((char*)us428-In04Buf)[i]) {
-if (diff  0)
-	diff = i;
-us428-In04Last[i] = ((char*)us428-In04Buf)[i];
+	if (us428ctls) {
+		int diff = -1;
+		if (-2 == us428ctls-CtlSnapShotLast) {
+			diff = 0;
+			memcpy(us428-In04Last, us428-In04Buf, sizeof(us428-In04Last));
+			us428ctls-CtlSnapShotLast = -1;
+		} else {
+			int i;
+			for (i = 0; i  21; i++) {
+if (us428-In04Last[i] != ((char*)us428-In04Buf)[i]) {
+	if (diff  0)
+		diff = i;
+	us428-In04Last[i] = ((char*)us428-In04Buf)[i];
+}
 			}
 		}
-		if (diff = 0us428ctls) {
+		if (0 = diff) {
 			int n = us428ctls-CtlSnapShotLast + 1;
 			if (n = N_us428_ctl_BUFS  ||  n  0)
 n = 0;
@@ -186,7 +193,7 @@
 			}
 		}
 
-	if (err){
+	if (err) {
 		snd_printk(In04Int() usb_submit_urb err=%i\n, err);
 	}
 }
Index: alsa-driver/usb/us428/usbus428audio.c
===
RCS file: /cvsroot/alsa/alsa-driver

[Alsa-devel] [PATCH]us428control.patch.0.3

2003-10-24 Thread Karsten Wiese
Hi Takashi,

This has more features:
- PCM-Volume adjusted to MasteVolumeSlider setting at device start.
- Direct Monitoring Functions adjustable directly on the US428
- Alsa Sequencer Output port for applications to receive the US428 sliders 
etc.

please add the missing files attached + commit the patch.

Danke,
Karsten
Index: alsa-tools/us428control/Cus428State.cc
===
RCS file: /cvsroot/alsa/alsa-tools/us428control/Cus428State.cc,v
retrieving revision 1.1
diff -u -r1.1 Cus428State.cc
--- alsa-tools/us428control/Cus428State.cc	6 Oct 2003 15:57:24 -	1.1
+++ alsa-tools/us428control/Cus428State.cc	23 Oct 2003 17:01:45 -
@@ -20,12 +20,14 @@
 
 #include stdio.h
 #include string.h
-#include Cus428State.h
+#include alsa/asoundlib.h
+#include Cus428Midi.h
 
 extern int verbose;
 
-void
-us428_lights::init_us428_lights()
+
+
+void us428_lights::init_us428_lights()
 {
 	int i = 0;
 	memset(this, 0, sizeof(*this));
@@ -33,8 +35,14 @@
 		Light[ i].Offset = i + 0x19;
 }
 
-int 
-Cus428State::LightSend()
+
+void Cus428State::InitDevice(void)
+{
+	SliderChangedTo(eFaderM, ((unsigned char*)(us428ctls_sharedmem-CtlSnapShot + us428ctls_sharedmem-CtlSnapShotLast))[eFaderM]);
+}
+
+
+int Cus428State::LightSend()
 {
 	int Next = us428ctls_sharedmem-p4outLast + 1;
 	if(Next  0  ||  Next = N_us428_p4out_BUFS)
@@ -44,14 +52,8 @@
 	return us428ctls_sharedmem-p4outLast = Next;
 }
 
-void 
-Cus428State::SliderChangedTo(int S, unsigned char New)
+void Cus428State::SendVolume(usX2Y_volume V)
 {
-	if ((S = eFader4 || S  0)  S != eFaderM)
-		return;
-
-	usX2Y_volume V;
-	V.SetTo(S, New);
 	int Next = us428ctls_sharedmem-p4outLast + 1;
 	if (Next  0  ||  Next = N_us428_p4out_BUFS)
 		Next = 0;
@@ -60,24 +62,107 @@
 	us428ctls_sharedmem-p4outLast = Next;
 }
 
+void Cus428State::SliderChangedTo(int S, unsigned char New)
+{
+	if (StateInputMonitor()  S = eFader3
+	|| S == eFaderM) {
+		usX2Y_volume V = Volume[S = eFader4 ? eFader4 : S];
+		V.SetTo(S, New);
+		if (S == eFaderM || !LightIs(eL_Mute0 + S))
+			SendVolume(V);
+	} else
+		Midi.SendMidiControl(0x40 + S, ((unsigned char*)us428_ctls)[S] / 2);
+
+}
 
-void 
-Cus428State::KnobChangedTo(eKnobs K, bool V)
+
+void Cus428State::KnobChangedTo(eKnobs K, bool V)
 {
-	switch (K) {  
-	case eK_InputMonitor:
-		if (verbose  1)
-			printf(Knob InputMonitor now %i, V);
+	switch (K  ~(StateInputMonitor() ? 3 : -1)) {
+	case eK_Select0:
 		if (V) {
-			LightSet(eL_InputMonitor, ! LightIs(eL_InputMonitor));
+			int S = eL_Select0 + (K  7);
+			Light[eL_Select0 / 8].Value = 0;
+			LightSet(S, !LightIs(S));
 			LightSend();
 		}
-		if (verbose  1)
-			printf( Light is %i\n, LightIs(eL_InputMonitor));
+		break;
+	case eK_Mute0:
+		if (V) {
+			int M = eL_Mute0 + (K  7);
+			LightSet(M, !LightIs(M));
+			LightSend();
+			if (StateInputMonitor()) {
+usX2Y_volume V = Volume[M - eL_Mute0];
+if (LightIs(M))
+	V.LH = V.LL = V.RL = V.RH = 0;
+SendVolume(V);
+			}
+		}
 		break;
 	default:
-		if (verbose  1)
-			printf(Knob %i now %i\n, K, V);
+		switch (K) {
+		case eK_InputMonitor:
+			if (verbose  1)
+printf(Knob InputMonitor now %i, V);
+			if (V) {
+if (StateInputMonitor()) {
+	SelectInputMonitor = Light[0].Value;
+	MuteInputMonitor = Light[2].Value;
+} else {
+	Select = Light[0].Value;
+	Mute = Light[2].Value;
+}
+LightSet(eL_InputMonitor, ! StateInputMonitor());
+Light[0].Value = StateInputMonitor() ? SelectInputMonitor : Select;
+Light[2].Value = StateInputMonitor() ? MuteInputMonitor : Mute;
+LightSend();
+			}
+			if (verbose  1)
+printf( Light is %i\n, LightIs(eL_InputMonitor));
+			break;
+		default:
+			if (verbose  1)
+printf(Knob %i now %i\n, K, V);
+			Midi.SendMidiControl(K, V);
+		}
 	}
 }
 
+
+void Cus428State::WheelChangedTo(E_In84 W, char Diff)
+{
+	char Param;
+	switch (W) {
+	case eWheelPan:
+		if (StateInputMonitor()  Light[0].Value) {
+			int index = 0;
+
+			while( index  4  (1  index) !=  Light[0].Value)
+index++;
+
+			if (index = 4)
+return;
+
+			Volume[index].PanTo(Diff, us428_ctls-Knob(eK_SET));
+			if (!LightIs(eL_Mute0 + index))
+SendVolume(Volume[index]);
+			return;
+		}
+		Param = 0x4D;
+		break;
+	case eWheelGain:
+		Param = 0x48;
+		break;
+	case eWheelFreq:
+		Param = 0x49;
+		break;
+	case eWheelQ:
+		Param = 0x4A;
+		break;
+	case eWheel:
+		Param = 0x60;
+		break;
+	}
+	Midi.SendMidiControl(Param, ((unsigned char*)us428_ctls)[W]);
+}
Index: alsa-tools/us428control/Cus428State.h
===
RCS file: /cvsroot/alsa/alsa-tools/us428control/Cus428State.h,v
retrieving revision 1.1
diff -u -r1.1 Cus428State.h
--- alsa-tools/us428control/Cus428State.h	6 Oct 2003 15:57:24 -	1.1
+++ alsa-tools/us428control/Cus428State.h	23 Oct 2003 17:01:45 -
@@ -23,24 +23,79 @@
 
 #include Cus428_ctls.h
 
-class Cus428State: public us428_lights, public Cus428_ctls{

[Alsa-devel] [PATCH] usbus428.c.patch_1.4_1.5

2003-10-05 Thread Karsten Wiese
Hi Takashi,

this enables DRAINING.
Here it is a really bugfix for using us428 with snd  alsaplayer.
Please commit.
What do you think about the us428control stuffs I sent you last week?

best,
Karsten
? .directory
? alsa-driver/cscope.files
? alsa-driver/cscope.out
? alsa-driver/usb/us428/cscope.out
? alsa-lib/cscope.files
Index: alsa-driver/usb/us428/usbus428audio.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/us428/usbus428audio.c,v
retrieving revision 1.3
diff -u -r1.3 usbus428audio.c
--- alsa-driver/usb/us428/usbus428audio.c	30 Sep 2003 08:54:47 -	1.3
+++ alsa-driver/usb/us428/usbus428audio.c	5 Oct 2003 19:10:30 -
@@ -401,13 +401,15 @@
 	}
 
 	if (pcm_captsubs)
-		if (pcm_captsubs-runtime-status-state == SNDRV_PCM_STATE_RUNNING)
+		if (pcm_captsubs-runtime-status-state == SNDRV_PCM_STATE_RUNNING
+		|| pcm_captsubs-runtime-status-state == SNDRV_PCM_STATE_DRAINING)
 			runtime = pcm_captsubs-runtime;
 	if (NULL == runtime){
 		snd_us428_substream_t *playsubs = captsubs-stream-substream + SNDRV_PCM_STREAM_PLAYBACK;
 		snd_pcm_substream_t *pcm_playsubs = playsubs-pcm_substream;
 		if (pcm_playsubs)
-			if (pcm_playsubs-runtime-status-state == SNDRV_PCM_STATE_RUNNING)
+			if (pcm_playsubs-runtime-status-state == SNDRV_PCM_STATE_RUNNING
+			|| pcm_playsubs-runtime-status-state == SNDRV_PCM_STATE_DRAINING)
 runtime = pcm_playsubs-runtime;
 		
 	}


[Alsa-devel] us428control 0.0.2 for alsa-tools

2003-09-29 Thread Karsten Wiese
Hi Takashi,

please review this one.
It is definitly needed to make use of the US-428.

thanks,
Karsten


us428control.0.0.2.tar.bz2
Description: application/tbz


[Alsa-devel] usbus428.c.patch_1.3_1.4

2003-09-25 Thread Karsten Wiese
Hi Takashi,

this makes it work again!

ciao,
Karsten

Index: alsa-driver/usb/us428/usbus428.c
===
RCS file: /cvsroot/alsa/alsa-driver/usb/us428/usbus428.c,v
retrieving revision 1.3
diff -u -r1.3 usbus428.c
--- alsa-driver/usb/us428/usbus428.c	24 Sep 2003 16:45:10 -	1.3
+++ alsa-driver/usb/us428/usbus428.c	25 Sep 2003 09:29:07 -
@@ -169,15 +169,12 @@
 int j, send = us428ctls-p4outSent + 1;
 if (send = N_us428_p4out_BUFS)
 	send = 0;
-while (us428ctls-p4out[send].type == eLT_Light  send != us428ctls-p4outLast)
-	if (++send = N_us428_p4out_BUFS)
-		send = 0;
 for (j = 0; j  URBS_AsyncSeq; ++j)
 	if (0 == us428-AS04.urb[j]-status) {
 		us428_p4out_t *p4out = us428ctls-p4out + send;	// FIXME if more then 1 p4out is new, 1 gets lost.
 		usb_fill_bulk_urb(us428-AS04.urb[j], us428-chip.dev,
   usb_sndbulkpipe(us428-chip.dev, 0x04), p4out-vol, 
-  p4out-type == eLT_Light ? sizeof(us428_lights_t) : sizeof(usX2Y_volume_t),
+  p4out-type == eLT_Light ? sizeof(us428_lights_t) : 5,
   snd_us428_Out04Int, us428);
 #ifdef OLD_USB
 		us428-AS04.urb[j]-transfer_flags = USB_QUEUE_BULK;
@@ -225,7 +222,7 @@
 
 	for (dev = 0; dev  SNDRV_CARDS; ++dev)
 		if (enable[dev]  !snd_us428_card_used[dev])
-			return NULL;
+			break;
 
 	if (dev = SNDRV_CARDS)
 		return NULL;


Re: [Alsa-devel] tascam us-122 : invalid synch pipe

2003-09-25 Thread karsten wiese
 --- Werner Schweer [EMAIL PROTECTED] schrieb: 
 Hello,
 
 i'm unable to get a tascam us-122 usb audio/midi box
 working.
 This device is supported by ALSA us428 driver.
 
 Trying alsaplayer and MusE both return an error on
 setting
 the pcm hw params:
 
 ALSA lib pcm_hw.c:324:(snd_pcm_hw_hw_params)
 SNDRV_PCM_IOCTL_HW_PARAMS failed: Invalid argument
 
 The kernel log says:
 Sep 25 16:40:58 t10 vmunix: ALSA usbaudio.c:1108: 7:0:1 :
 invalid synch pipe
 
 I am using current (todays) ALSA cvs and linux
 2.4.23pre4.
 What i'm doing wrong?
nothing, except snd-usb-us428 is not yet capable of
handling the us122. You are shure it was loaded?
Would wonder how that would happen.
I'd need hands on an us122 to support it in snd-usb-us428.

regards,
Karsten

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Logos und Klingeltöne fürs Handy bei http://sms.yahoo.de


---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] usx2yloader 0.3

2003-09-18 Thread Karsten Wiese
Hallo Takashi,

here is a patch which sports complete us428 initialisation via hotplug,
an INSTALL and a README.
I took the phase 1 firmware files from usb-midi-firmware project.
Also fixed are some compile warnings.
Maybe the Makefile.am is not completely correct as 
I hardcoded the directory /etc/hotplug/usb. But maybe also this is the 
standard place to put such hotplug files?
Wellhere it works.
Please put the stuffs to CVS.
The driver from CVS also works here.

Thanks,
Karsten




usx2yloader adds for 0.3.tar.bz2
Description: application/tbz
Index: Makefile.am
===
RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/Makefile.am,v
retrieving revision 1.1
diff -u -r1.1 Makefile.am
--- Makefile.am	8 Sep 2003 11:12:31 -	1.1
+++ Makefile.am	18 Sep 2003 20:08:53 -
@@ -11,6 +11,11 @@
 
 EXTRA_DIST = depcomp
 
+hotplug_files = tascam_fw.usermap tascam_fw tascam_fpga
+hotplugdir = /etc/hotplug/usb
+hotplug_SCRIPTS = $(hotplug_files)
+
+
 alsa-dist: distdir
 	@rm -rf ../distdir/usx2yloader
 	@mkdir -p ../distdir/usx2yloader
Index: configure.in
===
RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/configure.in,v
retrieving revision 1.1
diff -u -r1.1 configure.in
--- configure.in	8 Sep 2003 11:12:31 -	1.1
+++ configure.in	18 Sep 2003 20:08:53 -
@@ -1,5 +1,5 @@
 AC_INIT(usx2yloader.c)
-AM_INIT_AUTOMAKE(usx2yloader, 0.2)
+AM_INIT_AUTOMAKE(usx2yloader, 0.3)
 AC_PROG_CC
 AC_PROG_INSTALL
 AC_HEADER_STDC
Index: usx2yloader.c
===
RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/usx2yloader.c,v
retrieving revision 1.1
diff -u -r1.1 usx2yloader.c
--- usx2yloader.c	8 Sep 2003 11:12:31 -	1.1
+++ usx2yloader.c	18 Sep 2003 20:08:54 -
@@ -63,15 +63,17 @@
 
 
 /*
- * read a xilinx bitstream file
+ * read a xilinx bitstream file.
+ * NOTE: This interprets somehow differently from the vxloaders read_xilinx_image()!
+ * I took this from rbtload.c of the project usb-midi-fw.sf.net.
  */
 static int read_xilinx_image(snd_hwdep_dsp_image_t *img, const char *fname)
 {
 	FILE *fp;
 	char buf[256];
-	int data, c, idx, length;
+	int data = 0, c = 0, idx = 0, length = 0;
 	char *p;
-	char *imgbuf;
+	char *imgbuf = 0;
 
 	if ((fp = fopen(fname, r)) == NULL) {
 		fprintf(stderr, PROGNAME : cannot open %s\n, fname);
@@ -79,10 +81,6 @@
 	}
 	snd_hwdep_dsp_image_set_name(img, fname);
 
-	c = 0;
-	data = 0;
-	idx = 0;
-	length = 0;
 	while (fgets(buf, sizeof(buf), fp)) {
 		if (strncmp(buf, Bits:, 5) == 0) {
 			for (p = buf + 5; *p  isspace(*p); p++);
@@ -140,15 +138,13 @@
 			}
 		}
 	}
-	if (c)
-		imgbuf[idx++] = data;
-	if (idx != length) {
-		fprintf(stderr,
-			PROGNAME : length doesn't match: %d != %d\n, idx,
-			length);
+	if (idx != length || 0 == imgbuf) {
+		fprintf(stderr, PROGNAME : length doesn't match: %d != %d\n, idx, length);
 		fclose(fp);
 		return -EINVAL;
 	}
+	if (c)
+		imgbuf[idx++] = data;
 	snd_hwdep_dsp_image_set_length(img, length);
 	snd_hwdep_dsp_image_set_image(img, imgbuf);
 	fclose(fp);
@@ -223,7 +219,6 @@
 	len = strlen(temp);
 
 	while (fgets(buf, sizeof(buf), fp)) {
-		int prepad;
 		if (strncmp(buf, temp, len))
 			continue;
 
@@ -303,7 +298,7 @@
 {
 	snd_hwdep_t *hw;
 	const char *id;
-	int err, is_pcmcia;
+	int err;
 	unsigned int idx, dsps, loaded;
 	snd_hwdep_dsp_status_t *stat;
 
Index: firmware/Makefile.am
===
RCS file: /cvsroot/alsa/alsa-tools/usx2yloader/firmware/Makefile.am,v
retrieving revision 1.1
diff -u -r1.1 Makefile.am
--- firmware/Makefile.am	8 Sep 2003 11:12:31 -	1.1
+++ firmware/Makefile.am	18 Sep 2003 20:08:54 -
@@ -1,5 +1,4 @@
-cfg_files = us428.conf us428.prepad us428.rbt
-
+cfg_files = us428.conf us428.prepad us428.rbt tascam_loader.ihx us428fw.ihx
 EXTRA_DIST = $(cfg_files)
 
 firmwaredir = $(datadir)/alsa/firmware


[Alsa-devel] Re: /alsa-tools-0.9.6/us428controls 0.1

2003-09-08 Thread Karsten Wiese
Am Montag 08 September 2003 13:19 schrieb Takashi Iwai:
 At Sat, 6 Sep 2003 16:51:46 +0200,

 Karsten Wiese wrote:
  [1  text/plain; us-ascii (7bit)]
  Hi,
 
  intended to be started from hotplug script,
  us428controls so far enables the sliders 1..4 for setting
  directmonitoring levels. It also takes care of the red Mastervolume
  slider.
  this app can be expanded to fully enable all of the sliders+knobs.
  in userspace it is easier to recover from errors

 do you think this version to be put on alsa-tools package, too?
 then i'll review the code...

no need to put this version on alsa-tools package.
Here is already a more capable one.
I'll send it, when I tested it with the CVS-built module.
Or on request, if someone likes to test-drive :-)

regards,
Karsten



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] [PATCH]usbus428 0.1 against alsa-driver-0.9.6

2003-09-06 Thread Karsten Wiese
Hi,

this uses hwdep 2 fold: 
a) second stage firmware download
b) interface for us428control - aplication

no alsa-mixer interface yet, sorry.
but: with us428control you can use the us428's sliders to set direct 
monitoring levels and pcm-out level.

I chose to integrate a userspace tool, so further needed steps for the us428's 
knobs  sliders can be done in userspace until all is sorted out.

see us428control  usX2Yloader in the following e-mails.

have fun,
Karsten


alsa-driver-0.9.6+usbus428_0.1.diff.bz2
Description: BZip2 compressed data


[Alsa-devel] usx2yloader 0.2

2003-09-06 Thread Karsten Wiese
small modifications.
copy tascam-fpga to your /etc/hotplug/usb after setiing
up from usb-midi-fw.sf.net for more necessary infrastructur.

have fun,
Karsten


usX2Yloader.tar.bz2
Description: application/tbz


[Alsa-devel] /alsa-tools-0.9.6/us428controls 0.1

2003-09-06 Thread Karsten Wiese
Hi,

intended to be started from hotplug script,
us428controls so far enables the sliders 1..4 for setting directmonitoring 
levels. It also takes care of the red Mastervolume slider.
this app can be expanded to fully enable all of the sliders+knobs.
in userspace it is easier to recover from errors

for hotplug-starting this, copy tascam-fpga to your /etc/hotplug/usb after 
setiing up from usb-midi-fw.sf.net for more necessary infrastructur.

regards,
Karsten



us428control.tar.bz2
Description: application/tbz


[Alsa-devel] [PATCH]alsa-driver-0.9.6/acore/hwdep.c

2003-09-04 Thread Karsten Wiese
Hi,

I'm trying the hwdep interface with poll().
looking for reasons why removal of USB-device caused bad MAGIC in hwdep.c,
I found this solution:

PATCH
--- alsa-driver-0.9.6/acore/hwdep.c 2003-07-30 01:01:23.0 +0200
+++ alsa-driver-0.9.6-patched/acore/hwdep.c 2003-09-04 17:45:59.0 
+0200
@@ -133,9 +133,14 @@
set_current_state(TASK_RUNNING);
remove_wait_queue(hw-open_wait, wait);
if (err = 0) {
+   err = snd_card_file_add(hw-card, file);
+   if (err  0)
+   return -ENODEV;
+
file-private_data = hw;
hw-used++;
}
+
up(hw-open_mutex);
return err;
 }
@@ -151,6 +156,7 @@
}
if (hw-used  0)
hw-used--;
+   snd_card_file_remove(hw-card, file);
up(hw-open_mutex);
return -ENXIO;
 }
/PATCH

Also in Web-CVS this part of the code seams not to have the snd_card_file* 
calls.
It works for me here. If it is correct, please apply!

regards,
Karsten



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] Re: Tascam USx2x Audio

2003-08-31 Thread Karsten Wiese
Am Sonntag 31 August 2003 10:39 schrieb Martin Langer:
 On Wed, Aug 20, 2003 at 08:29:12PM +0200, Karsten Wiese wrote:
  would you try the us428 audio part on the us122?

 Yes, I've tried it out and capturing runs perfect. Playback is ok if you do
 it not longer than 5 seconds or so. Then speed becomes slower and
 sloooweeer and it sounds terrible croaky from there on. I guess that's the
 sync problem you mentioned.

you have built your module with debug=full?
can you then do something like this in a console:
  dmesg -c
  aplay file  until sound starts getting croaky  then immediately conrol+c 
  dmesgdmesgfile
and then send dmesgfile to me? 
also please attach a lsusb of the us122. and the changes you applied for this 
test.

(Just for Information
the lsusb of the us428 here gives:

Bus 001 Device 003: ID 1604:8001 Tascam US-428 Audio/Midi Controller
  Language IDs: none (invalid length string descriptor bf; len=0)
Device Descriptor:
  bLength18
  bDescriptorType 1
  bcdUSB   1.00
  bDeviceClass0 Interface
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize064
  idVendor   0x1604 Tascam
  idProduct  0x8001 US-428 Audio/Midi Controller
  bcdDevice0.01
  iManufacturer   0
  iProduct0
  iSerial 0
  bNumConfigurations  1
  Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength  183
bNumInterfaces  1
bConfigurationValue 1
iConfiguration  0
bmAttributes 0x40
  Self Powered
MaxPower0mA
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber0
  bAlternateSetting   0
  bNumEndpoints   5
  bInterfaceClass   255 Vendor Specific Class
  bInterfaceSubClass  0
  bInterfaceProtocol  0
  iInterface  0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04  EP 4 OUT
bmAttributes2
  Transfer TypeBulk
  Synch Type   none
wMaxPacketSize 64
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84  EP 4 IN
bmAttributes3
  Transfer TypeInterrupt
  Synch Type   none
wMaxPacketSize 21
bInterval  10
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06  EP 6 OUT
bmAttributes2
  Transfer TypeBulk
  Synch Type   none
wMaxPacketSize 64
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86  EP 6 IN
bmAttributes2
  Transfer TypeBulk
  Synch Type   none
wMaxPacketSize 64
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02  EP 2 OUT
bmAttributes2
  Transfer TypeBulk
  Synch Type   none
wMaxPacketSize 64
bInterval   0
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber0
  bAlternateSetting   1
  bNumEndpoints   8
  bInterfaceClass   255 Vendor Specific Class
  bInterfaceSubClass  0
  bInterfaceProtocol  0
  iInterface  0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04  EP 4 OUT
bmAttributes2
  Transfer TypeBulk
  Synch Type   none
wMaxPacketSize 64
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84  EP 4 IN
bmAttributes3
  Transfer TypeInterrupt
  Synch Type   none
wMaxPacketSize 21
bInterval  10
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06  EP 6 OUT
bmAttributes2
  Transfer TypeBulk
  Synch Type   none
wMaxPacketSize 64
bInterval   0
  Endpoint Descriptor:
bLength 7

[Alsa-devel] Fwd: [usb-midi-fw-devel] proposal concerning cooperation of snd-usb-usx2x.o and rbtload

2003-08-29 Thread Karsten Wiese
 */
/* 	i = usb_device(usbdev)-config[configuration].interface[interface]. */
/* 	altsetting[altsetting].bInterfaceNumber; */
/* 	if (usb_claim_interface(usbdev, i)  0) { */
/* 		fprintf(stderr, PROGNAME : USB Error %s\n, */
/* 			usb_strerror()); */
/* 		exit(EXIT_FAILURE); */
/* 	} */
/* 	// set alternate interface */
/* 	i = usb_device(usbdev)-config[configuration].interface[interface]. */
/* 	altsetting[altsetting].bAlternateSetting; */
/* 	if (usb_set_altinterface(usbdev, i)  0) { */
/* 		fprintf(stderr, PROGNAME : USB Error %s\n, */
/* 			usb_strerror()); */
/* 		exit(EXIT_FAILURE); */
/* 	} */
	return usbdev;
}

void download_image(usb_dev_handle * usbdev, int pipe, byte * imgbuf,
		int length, int timeout)
{
	int ret;
	int todo;
	int pos = 0;

	if (!imgbuf || !length) {
		fprintf(stderr,
			PROGNAME : invalid download_image params\n);
		exit(EXIT_FAILURE);
	}
	while (pos  length) {
		todo = 0x1000;
		if ((length - pos)  todo)
			todo = (length - pos);
		{
			struct usbdevfs_ioctl	io = {0,IOCTL_USx2x_OUT_PIPE2(todo), imgbuf+pos};
			
			ret = ioctl( *(int*)usbdev, USBDEVFS_IOCTL, io);
		}

		if (ret) {
			perror( PROGNAME : USB Error);
			exit(EXIT_FAILURE);
		}
		//printf(.); fflush(stdout);
		pos += todo;
	}
	//printf(\n);
}

int main(int argc, char *argv[])
{
	char *firmware_path = 0;
	char *device_path = getenv(DEVICE);
	int prepadding = 0;
	int endpoint = 2;
	int interface = 0;
	int configuration = 0;
	int altsetting = 0;
	int timeout = 1000;
	int configuration_length = 0;
	int opt;
	byte *configuration_data;
	byte *pad_data;
	usb_dev_handle *usbdev = NULL;

	while ((opt = getopt(argc, argv, hvVD:I:i:c:a:e:p:t:)) != EOF)
		switch (opt) {
		case 'D':
			device_path = optarg;
			break;

		case 'I':
			firmware_path = optarg;
			break;

		case 'V':
			puts(RBTLOAD_VERSION);
			return 0;

		case 'v':
			verbose++;
			break;

		case 'i':
			interface = atoi(optarg);
			break;

		case 'c':
			configuration = atoi(optarg);
			break;

		case 'a':
			altsetting = atoi(optarg);
			break;

		case 'e':
			endpoint = atoi(optarg);
			break;

		case 'p':
			prepadding = atoi(optarg);
			break;

		case 't':
			timeout = atoi(optarg);
			break;

		case 'h':
		default:
			usage();
		}

	if (!device_path) {
		fputs(PROGNAME : no device specified!\n, stderr);
		usage();
	}

	if (!firmware_path) {
		fputs(PROGNAME : missing firmware file name!\n, stderr);
		usage();
	}

	configuration_data =
	read_xilinx_image(firmware_path, configuration_length);
	usbdev =
	usb_find_device(device_path, configuration, interface,
			altsetting);

	if (prepadding) {
		pad_data = malloc(prepadding);
		memset(pad_data, 0, prepadding);
		download_image(usbdev, endpoint, pad_data, prepadding,
			   timeout);
	}
	download_image(usbdev, endpoint, configuration_data,
		   configuration_length, timeout);
	{
		struct usbdevfs_ioctl io = {0,IOCTL_USx2x_START_ALSA, NULL};
		if(ioctl( *(int*)usbdev, USBDEVFS_IOCTL, io));
		perror( ioctl!);
	}

	// close USB handle
	if (usb_close(usbdev)  0) {
		fprintf(stderr, PROGNAME : USB Error %s\n,
			usb_strerror());
		return EXIT_FAILURE;
	}
	return EXIT_SUCCESS;
}
#ifndef USBUS428IOCTL_H
#define USBUS428IOCTL_H
#include linux/ioctl.h

#define IOCTL_USx2x_OUT_PIPE2(len)	_IOC(_IOC_WRITE,'U',0,len)
#define IOCTL_USx2x_START_ALSA		_IO('U', 1)
#define IOCTL_USx2x_STOP_ALSA		_IO('U', 2)

#endif
/*
 * usbus428.c - ALSA USB US-428 Driver
 *
2003-08-22 Karsten Wiese
	Version 0.0.8:
	Removed EZUSB Firmware. First Stage Firmwaredownload is now done by tascam-firmware downloader.
	See:
	http://usb-midi-fw.sourceforge.net/tascam-firmware.tar.gz

2003-06-18 Karsten Wiese
	Version 0.0.5:
	changed to compile with kernel 2.4.21 and alsa 0.9.4

2002-10-16 Karsten Wiese
	Version 0.0.4:
	compiles again with alsa-current.
	USB_ISO_ASAP not used anymore (most of the time), instead
	urb-start_frame is calculated here now, some calls inside usb-driver don't need to happen anymore.

	To get the best out of this:
	Disable APM-support in the kernel as APM-BIOS calls (once each second) hard disable interrupt for many precious milliseconds.
	This helped me much on my slowish PII 400  PIII 500.
	ACPI yet untested but might cause the same bad behaviour.
	Use a kernel with lowlatency and preemptiv patches applied.
	To autoload snd-usb-midi append a line 
		post-install snd-usb-us428 modprobe snd-usb-midi
	to /etc/modules.conf.

	known problems:
	sliders, knobs, lights not yet handled except MASTER Volume slider.
   	pcm -c 2 doesn't work. pcm -c 2 -m direct_interleaved does.
	KDE3: Enable full duplex operation deadlocks.

	
2002-08-31 Karsten Wiese
	Version 0.0.3: audio also simplex;
	simplifying: iso urbs only 1 packet, melted structs.
	ASYNC_UNLINK not used anymore: no more crashes so far.
	for alsa 0.9 rc3.

2002-08-09 Karsten Wiese
	Version 0.0.2: midi works with snd-usb-midi, audio (only fullduplex now) with i.e. bristol.
	The firmware has been sniffed from win2k us-428 driver 3.09

[Alsa-devel] Re: [usb-midi-fw-devel] proposal concerning cooperation of snd-usb-usx2x.o and rbtload

2003-08-29 Thread Karsten Wiese
Am Freitag 29 August 2003 17:34 schrieb Pedro Lopez-Cabanillas:
 El Jueves, 28 de Agosto de 2003 23:52, Karsten Wiese escribió:
  when a hotplug occurs (EZUSB Firmware not being looked at here, works as
  before), the kernel
  1.) asks snd-usb-us428.o, if it wants to have the device. snd-usb-us428.o
  says 'yes!'. this latest snd-usb-us428.o will not start any ALSA-Activity
  in this stage. It just owns the interface to the us428 (and implements 2
  new ioctl-able entriepoints).

 ...assuming that your module (snd-usb-us428) is already loaded, or it is
 statically linked into the kernel. Anyway, hotplug will load the module if
 it's not loaded yet.

  2.) starts rbtload (by means of the hotplug-scripts) to download the fpga
  code. this hacked rbtload does the download by means of standard ioctl()
  - calls to snd-usb-us428.o. Thus we don't need libusb here anymore.
  (libusb is still used here for minimizing changing efforts.) if download
  is finished, snd-usb-us428.o ALSA-Activities are started by another ioctl
  to snd-usb-us428.o.
 
  Result: us428 works as before.
 
  What do you think about setting up a 0.2 this way?

 Not sure. You explained what you are doing, but not why you are doing that.
 I don't have a us428 or us122 here, so I can't test it myself.

 I can guess that there is a problem if you try to use rbtload when the
 kernel driver is already loaded locking the USB interface, and forces
 rbtload to fail. Another issue is that rbtload can be rewritten without
 libusb at all.

 But perhaps you have found some other issues. A good starting point could
 be to share your concerns, and after that we can try to find the best
 solution for them. Of course we can arrive to the conclusion that your hack
 is the best solution at all, but please: let's talk first.

the sequence first 'Module load' then 'hotplug script start' is hardcoded in 
the kernel's usb.c. 
Before FPGA download, the usx2x dont work. So it is useless to start 
ALSA-activities at this stage. None the less the module has to say 'YES, I 
want the device' now. (Maybe there are other ways for an USB-module to get 
attached to their device(s) but I could not find them.)
The usx2x keep their USB ProductIDs after the FPGA load, so the kernel doesn't 
see a 'new' device and thus wont ask the module again.
We know rbtload_0.1 can't download with a module owning the target (interface 
claim must fail). 
So before rbtload getting involved, we could unload the module, rbtload and 
load the module again? 
Yes, but what if there where more then 1 usx2x attached to the system? unload 
would fail, if 1 usx2x would be in use.

some minutes break

Just received an email from Takashi. He asks why not do it like he 
did it before for the vx interfaces.
I found the driver code. The firmware downloader vxloader is part of 
alsa-tools.
as far as i can see it works like I outlined above, except that ALSA already 
has a sceleton for this purpose.
If you are curious, grep for  snd_hwdep_dsp_image_t.
Now I think I'll make use of that so called 'hardware dependant interface' in 
the us428 module. Then there should be rbtload 0.2 using this interface from 
userspace to download the firmware and actually start the ALSA-functions of 
the usx2x. 

regards,
Karsten



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] Re: [linux-usb-devel] uhci.c Fix for an UHCI error -EILSEQ on a VIA Controller during BULK IN transfer

2003-08-23 Thread Karsten Wiese
On Sat, 23 Aug 2003, Wolfgang Mes wrote:

 On Fri, 22 Aug 2003, Karsten Wiese wrote:
 
  the FIX is to initialise status in uhci_submit_bulk() like this:
  /* 3 errors if there is a timeout else 0;
 UHCI Spec says: 0 == unlimited errors
 VIA-chip 1106:3038 needs 0 for urbs that should not timeout!
 */
  status = TD_CTRL_ACTIVE | ((urb-timeout ? 3 : 0) 
  TD_CTRL_C_ERR_SHIFT);
 
 I have seen these sort of errors when there was an EMI spike. I got this 
with 
 a device which is self powered and has a connection to the ground of the 
 power supply cable. The spike was induced in the ground loop of PC, device 
 and USB cable. This spike maybe last 10 ms. If an USB transfer gets no NAK 
 from the device due to the spike, the transfer is retried and the error 
count 
 decremented. My VIA controller does all 3 retries very fast, back-to-back.
 So the third try timed out before the spike was gone. 

I was just going to write a similar reply. IMHO this is an issue which is 
generally underestimated. Any long-living transfer might run into this 
problem. F.e. if there is an INT IN scheduled to poll some input activity, 
this transfer might be active for seconds, minutes or even longer. All it 
needs is three spikes on the wire to make the urb failing with EILSEQ.

Ok, seems VIA does the retries fast enough so a single spike could be 
sufficient. This explains why this is sometimes seen with VIA but not 
Intel. However the issue is still there anyway. It's just depending on how 
noisy the environment is.

IMHO it's the drivers job to be prepared to get these errors and recover 
appropriately. IIRC there is also an Application Note on Cypress' website 
describing this issue and how driver should be prepared to handle this, 
particularly for long-living transfers.

 I think it would be wise to add another level of retries on top of the 
 controller timeout, in the HCD. If you have no HCD support for this sort of 
 failure, you can try to use a kernel timer and retry the URB from within 
your 
 driver. (Note that for this to work, the device must be able to resend the
 information from the last transfer).

Not sure about this. This might get pretty messy with queued requests. 
IMHO when the urb gets stopped due to error retry count reached, the HCD
should just stop further urbs queued for this endpoint and let the driver 
recover.

You are right:
The USB device is self powered. Measuring the passed usb-frames versus urb 
errors,
I found about 80ms from one C_ERR decrease to the next. If I simply insert the 
power adapter the other way round, this rate drops to 1ms and lower.
So it is my noisy hardware letting those urbs fail.
A sensible patch would enable HCDs to log a warning if the amount of C_ERR 
decreases per time surpassed a certain value. If C_ERR decreases stayed below 
that certain value, the failing urb might also be resubmitted without 
bothering the higherlevel-driver.

Thanks!
Karsten



---
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines
at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] uhci.c Fix for an UHCI error -EILSEQ on a VIA Controller during BULK IN transfer

2003-08-22 Thread Karsten Wiese
hi Maintainers,

I'm developing a driver for the tascam us428 audio/midi controller. it works 
on intel USB BX440 Host controller, but has problems with one VIA USB 
Controller (others unknown).
kernel is 2.4.21. module is uhci. (usb-uhci behaves similarly.)

the error shows up like this:
uhci.c: uhci_result_interrupt/bulk() failed with status 44
[cf7a50c0] link (0f7a5092) element (02ecf1e0)
  0: [c2ecf1e0] link (0001) e0 IOC Stalled CRC/Timeo Length=7ff MaxLen=3f 
DT0 EndPt=6 Dev=2, PID=69(IN) (buf=0e01cc54)

the FIX is to initialise status in uhci_submit_bulk() like this:
/* 3 errors if there is a timeout else 0; 
   UHCI Spec says: 0 == unlimited errors
   VIA-chip 1106:3038 needs 0 for urbs that should not timeout!
   */
status = TD_CTRL_ACTIVE | ((urb-timeout ? 3 : 0)  TD_CTRL_C_ERR_SHIFT);

the urb in question should stay in the queue until the extern midi device 
submits an event.
It seams intels HC ignores the spec, while Via's obeys here?

Please apply the fix in uhci.c, usb-uhci.c and for 2.6!

thanks, karsten

some details:

lspci -n for the VIA Board:
00:00.0 Class 0600: 1106:0691 (rev c4)
00:01.0 Class 0604: 1106:8598
00:07.0 Class 0601: 1106:0686 (rev 40)
00:07.1 Class 0101: 1106:0571 (rev 06)
00:07.2 Class 0c03: 1106:3038 (rev 1a)
00:07.3 Class 0c03: 1106:3038 (rev 1a)
00:07.4 Class 0680: 1106:3057 (rev 40)
00:07.5 Class 0401: 1106:3058 (rev 50)
00:09.0 Class 0100: 1000:000f (rev 03)
00:0a.0 Class 0200: 8086:1229 (rev 08)
01:00.0 Class 0300: 1002:4c42 (rev dc)

lspci -v for the VIA Board:
00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] 
(rev c4)
Flags: bus master, medium devsel, latency 8
Memory at e000 (32-bit, prefetchable) [size=32M]
Capabilities: available only to root

00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x 
AGP] (prog-if 00 [Normal decode])
Flags: bus master, 66Mhz, medium devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: c000-cfff
Memory behind bridge: e200-e3ff
Capabilities: available only to root

00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 
40)
Subsystem: VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
Flags: bus master, stepping, medium devsel, latency 0
Capabilities: available only to root

00:07.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus 
Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
Subsystem: VIA Technologies, Inc. VT8235 Bus Master ATA133/100/66/33 
IDE
Flags: bus master, medium devsel, latency 32
I/O ports at d000 [size=16]
Capabilities: available only to root

00:07.2 USB Controller: VIA Technologies, Inc. USB (rev 1a) (prog-if 00 
[UHCI])
Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
Flags: bus master, medium devsel, latency 32, IRQ 5
I/O ports at d400 [size=32]
Capabilities: available only to root

00:07.3 USB Controller: VIA Technologies, Inc. USB (rev 1a) (prog-if 00 
[UHCI])
Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
Flags: bus master, medium devsel, latency 32, IRQ 5
I/O ports at d800 [size=32]
Capabilities: available only to root

00:07.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40)
Subsystem: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
Flags: medium devsel, IRQ 9
Capabilities: available only to root

00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 
Audio Controller (rev 50)
Subsystem: VIA Technologies, Inc. VT82C686 AC97 Audio Controller
Flags: medium devsel, IRQ 10
I/O ports at dc00 [size=256]
I/O ports at e000 [size=4]
I/O ports at e400 [size=4]
Capabilities: available only to root

00:09.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 03)
Flags: bus master, medium devsel, latency 134, IRQ 11
I/O ports at e800 [size=256]
Memory at e4202000 (32-bit, non-prefetchable) [size=256]
Memory at e4201000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at unassigned [disabled] [size=64K]

00:0a.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
Subsystem: Intel Corp. EtherExpress PRO/100+ Management Adapter
Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at e420 (32-bit, non-prefetchable) [size=4K]
I/O ports at ec00 [size=64]
Memory at e400 (32-bit, non-prefetchable) [size=1M]
Expansion ROM at unassigned [disabled] [size=1M]
Capabilities: available only to root

01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage LT Pro AGP-133 
(rev dc) (prog-if 00 [VGA])
Subsystem: ATI Technologies Inc Rage LT Pro AGP 2X
Flags: bus master, stepping, medium 

Re: [Alsa-devel] usbus428 0.0.7 patch against release alsa-driver 0.9.6 (was Re: tascam gives a go for us428 @ alsa ...)

2003-08-20 Thread Karsten Wiese
Am Mittwoch 20 August 2003 19:58 schrieb Martin Langer:
 On Thu, Aug 07, 2003 at 04:44:08PM +0200, Takashi Iwai wrote:
  At Wed, 30 Jul 2003 21:33:37 +0200,
 
  Karsten Wiese wrote:
   i agree that its a reasonable goal to integrate the us428 audio part
   into ALSA usb-audio. is there such a mechanism to syncronize the
   playback-pipe by the capture-pipe allrteady in usb-audio.c? the us428
   definitly needs such a beast.
 
  i'm not sure what you mean here, but i guess it's not implemented.
  (is it a standard USB audio feature? if not, we don't have it :)

 Stupid question: Why do we need synchronisation??
to avoid crackles in Audio Out. goal: feeding Audio Out exactly as many frames 
as it can digest.

 Isn't it the job of the FPGA? We know that each signal is routed across the
 FPGA and that's why the config data should be loaded into for standalone
 usage or nothing will work on our USxxx. Without an internal
 synchronisation there would be no standalone usage possible or do I make a
 mistake here.
What do you mean with standalone usage?

 What about removing synchronisation stuff and replacing it with some
 talking to the FPGA buffer??? I guess that will not fit into USB AUDIO
 class, but anyhow my USxxx is vendor specififc.
how would you do that? You have the 122s circuit diagram?
What I know so far is: there are no crackles in audio anymore if we feed 
Audio Out at exactly the frame-rate we have received from Audio In just 
before.
this is what I mean by synchronisation. 
would you try the us428 audio part on the us122? I could send you a special 
version for 2 Audio Ins  2 Audio Outs. We could then build a snd-usb-usx2x 
module ;-) None the less you'd first have to extract the second stage 
firmware. have you already?

karsten






---
This SF.net email is sponsored by Dice.com.
Did you know that Dice has over 25,000 tech jobs available today? From
careers in IT to Engineering to Tech Sales, Dice has tech jobs from the
best hiring companies. http://www.dice.com/index.epl?rel_code=104
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] usbus428 0.0.7 patch against release alsa-driver 0.9.6 (was Re: tascam gives a go for us428 @ alsa ...)

2003-08-17 Thread Karsten Wiese
Am Donnerstag 14 August 2003 22:20 schrieb Martin Langer:
 On Tue, Aug 12, 2003 at 09:19:40PM +0200, Martin Langer wrote:
  Success. US122 behaves like a normal ezusb device. And the whole USx2x
  family is using the same loader. I think we are at a point where we can
  remove that firmware stuff of us428fw8000.h and use fxload with an
  extracted firmware. Ok, a final test on us428 should be done before.
 
  Pedro's Tascam USx2x extractor/loader is already here and Clemens is on
  the way to create an sf project for this wonderful ezusb stuff for
  MidiSport, Tascam devices (and maybe more in the future).

 Hi us428,

 here you can find that Tascam EZUSB firmware extractor prerelease:
 http://langerland.de/us122/tascam-firmware.tar.bz2

 martin

Success with US-428 here ( @ PlanetCCRMA 2.4.21-ck3 PIII BX440 laptop) also!
a summer breaze :-)   usbus428 0.0.8 patch soon to follow.

karsten



---
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa0013ave/direct;at.aspnet_072303_01/01
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


Re: [Alsa-devel] usbus428 0.0.7 patch against release alsa-driver 0.9.6 (was Re: tascam gives a go for us428 @ alsa ...)

2003-08-17 Thread Karsten Wiese
 while we're in here: i'm looking at the code now and have some
 questions / suggestions to Karsten:

 * the comments in usbus428.c looks like the GPL/BSD dual license but
   MODULE_LICENSE() is defined as GPL.  is it correct?
i mean MODULE_LICENSE() is defined as GPL. example solely GPL header please?

 * what's the reason of the independent snd-usb-us428-dl module?
   this module seems doing only feeding the firmware to the interface,
   so why not in snd-usb-us428 itself?  this will reduce the use of
   inter_module_* stuffs which are obsolete in 2.6 kernels.
since Pedro's tascam-firmware loader works, there is only one reason to have a 
separate module: it can be unloaded to free memory.
i'll reentegrate the 8001 firmware into the usb-us428 module for 2.6 reasons.
maybe with the FPGA downloader stuff, Martin has mentioned, we can get rid of 
firmware in module at all?
for now: which is the (2.6-)way to tell the kernel that a module's static 
const variable is pageable / can be swaped out to preserve memory?

 * usbus428ctls.c defines mmap  co.  they still be needed?
   could they be replaced with the standard ALSA control API?
   (btw, P_us428ctls_sharedmem_u may be unalighed to the page
when allocated via kmalloc().  so the mmap code looks buggy for
me anyway.  also, please avoid virt_to_phys() as much as possible.
this is architecture dependent, and won't run on non-x86 well.)
notice please the us-428 knobs/sliders events can only be received by an 
application in a sense like a users interface. so we have a difference here 
to standard mixer-like controls (opposite direction)?
mmh yes: they are comparable to the laptop's volume knobs..except most of them 
would trigger some app's filters instead of a chip's hardware directly... 
should i investigate that further? alsa-lib can help ?
or: how do i register/operate an alsa-sequencer midi-port from userspace?
which is the kernel function to obtain aligned memory for mmap?

 * 64bit division macros can be found in pcm.h.
   the asm codes in usbus428audio.c can be removed.

 * there are still GCC-style of structs initialization in some parts :)

 * please follow the coding style described in linux/Documentation/
   CodingStyle.  spaces after a (open) parenthesis are not common...
   (i know it's a matter of tastes, but we should keep the consistent
style if possible.)
   also, debug codes which are obviously unnecessary any more should be
   removed in the release source codes.

 * you don't need to modify configure stuff but just add the following
   to alsa-driver/utils/Modules.dep and run cvscompile again:

   %dir linux/sound/usb
   snd-usb-us428-dl

   |snd-usb-us428 snd-usb-audio snd-usb-us428-dl
will obey.

 thanks!

 Takashi

lots of ?. thanks!

Karsten




---
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa0013ave/direct;at.aspnet_072303_01/01
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel


[Alsa-devel] usbus428 0.0.7 patch against release alsa-driver 0.9.6 (was Re: tascam gives a go for us428 @ alsa ...)

2003-07-30 Thread Karsten Wiese
this is part 2 of the patch: the firware files.


alsa-driver-0.9.6+usbus428.2.diff.tar.bz2
Description: application/tbz


[Alsa-devel] usbus428 0.0.7 patch against release alsa-driver 0.9.6 (was Re: tascam gives a go for us428 @ alsa ...)

2003-07-30 Thread Karsten Wiese
Am Montag 05 Mai 2003 15:14 schrieb Takashi Iwai:
 Hi,

 At Wed, 30 Apr 2003 13:56:34 +0200,

 karsten wrote:
  ... if I understand this
  http://www.tascam.com/forums/showthread.php?s=threadid=28584
  correctly.
  please have a look at administrator Jims post near the bottom and tell
  me, if you agree to include our us428 driver in alsa.
  we would split the driver in two parts then, audio/midi handling and
  firmware.

 great!

 could you send the patch again (the one to the latest cvs version is
 preferred)?  the current ALSA usb-audio driver has more generic layer
 to absorb the device specific part, so perhaps we can integrate the
 tascam driver more smoothly.


 thanks,

 Takashi

this is part 1 of usbus428 0.0.7 patch against release alsa-driver 0.9.6.
i hope 0.9.6 is still pretty close to CVS.
this works for me on a planet ccrma rh9 box with 2.4.21-ck3 kernel.
so far only on a laptop with bx440 chipset. my via pIII box has shown 
usb-problems and crackling sound with this. (anybody any ideas?)

new here is:
- both firmware-downloads are handled now by the snd-usb-us428-dl module (this 
functionality should move further on into userspace via libusb ? volunteers?)
- pcm capturing using one device with all 4 channels works - good for jack
- beginning of an userspace application interface for controll communication. 
(there is a very early implementation that can start  stop ardour using 
those knobs; erm actually not in this patch..still needs some polishing..)

my working configure invocation was:
./configure 
--with-cards=via82xx,msnd-pinnacle,usb-audio,usb-us428,usb-us428-dl,es1968 
--with-kernel=/home/ka/kernel/linux-2.4.21 --with-debug=full

and it will most propably not run on one of the other tascam usb devices.
and yes, the midi i/o should also still tick by virtue of snd-usb-audio :-) 

i agree that its a reasonable goal to integrate the us428 audio part into ALSA 
usb-audio. is there such a mechanism to syncronize the playback-pipe by the 
capture-pipe allrteady in usb-audio.c? the us428 definitly needs such a 
beast.
for now its easier for me to keep a seperate module: source is smaller and i'd 
like to do more on the knobs, sliders  lights part of the us428.

none the less i'd greatly appreciate if you'd submit the path ;-) 

part2 of the patch in next mail.


alsa-driver-0.9.6+usbus428.1.diff.tar.bz2
Description: application/tbz


Re: [Alsa-devel] Major Bug in Alsa 0.9 for over 1 year

2002-10-26 Thread karsten wiese
 --- Clemens Ladisch [EMAIL PROTECTED] schrieb: 
Karsten Wiese wrote:
   insmod snd-cs4232
   Using
 /lib/modules/2.4.19/kernel/sound/isa/cs423x/snd-cs4232.o
  
 /lib/modules/2.4.19/kernel/sound/isa/cs423x/snd-cs4232.o:
   unresolved symbol
   snd_card_new_R506deba1
 
  the _R506deba1 makes me think snd-cs4232.o is
 compiled with module
  versionnumbers
  and the module, snd_card_new lives in, haS been made
 without module version
  numbers.
 
 No, that's caused by using insmod. Using modprobe instead
 ensures that all
 required modules are loaded.
right, but none the less the _R506deba1 in
snd_card_new_R506deba1 means the requesting module needs
version information on module symbols. if the use of
version information on module symbols is not consistent
across kernel  modules, this message can occure.

karsten

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


---
This SF.net email is sponsored by: ApacheCon, November 18-21 in
Las Vegas (supported by COMDEX), the only Apache event to be
fully supported by the ASF. http://www.apachecon.com
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



[Alsa-devel] alsa-lib/test/pcm.c: -b option

2002-10-17 Thread karsten wiese
hallo jaroslav,

please aply the attached patch.
it enables the -b option.

thanks, karsten




__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


alsalibtestpcm_patch
Description: alsalibtestpcm_patch


[Alsa-devel] us428 patch 0.0.4

2002-10-16 Thread karsten wiese

hi, this is the logentry:

compiles again with alsa-current.
USB_ISO_ASAP not used anymore (most of the time),
instead
urb-start_frame is calculated here now, some calls
inside usb-driver don't need to happen anymore.

To get the best out of this:
Disable APM-support in the kernel as APM-BIOS calls
(once each second) hard disable interrupt for many
precious milliseconds.
This helped me much on my slowish PII 400  PIII 500.
ACPI yet untested but might cause the same bad
behaviour.
Use a kernel with lowlatency and preemptiv patches
applied.
To autoload snd-usb-midi append a line 
post-install snd-usb-us428 modprobe snd-usb-midi
to /etc/modules.conf.

known problems:
(1) interrupts  1000 every 1 s.
(2)sliders, knobs, lights not yet handled except
MASTER Volume slider.
(3)pcm -c 2 doesn't work. pcm -c 2 -m
direct_interleaved does.
(4)KDE3.03: Enable full duplex operation deadlocks.



tascams (still unauthorized) firmware is not included
but can be optained off
http://hal9000.drehmoment.org/tascam/

thanks for your support ! 
aaand   does anybody have some clue(s) about the known
problem (3)?

best regards,
karsten




__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


us428_0.0.4_alsa0.9_gpl.tar.bz2
Description: us428_0.0.4_alsa0.9_gpl.tar.bz2


Re: [Alsa-devel] help for a levelmeter

2002-10-16 Thread karsten wiese

 --- Paul Davis [EMAIL PROTECTED] schrieb: 
 An: Laurent Georget [EMAIL PROTECTED]
 CC: karsten wiese [EMAIL PROTECTED],
 Devel Alsa [EMAIL PROTECTED]
 Betreff: Re: [Alsa-devel] help for a levelmeter 
 Datum: Wed, 16 Oct 2002 18:07:48 -0400
 Von: Paul Davis [EMAIL PROTECTED]
 
[ please forward to
 [EMAIL PROTECTED] i still
  cannot post there. 
]
 
 Anyway I can now try to experiment the copy_plugin
 : would you know some 
 program using
 this plugin, which would make the thing easier !
 
 programs don't use a plugin. its just a function
 of which PCM device
 they are told to open. the code they contain is no
 different whether
 they are accessing a hardware PCM device, a plughw
 PCM device, or a
 copy PCM device.
 
 --p 

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


---
This sf.net email is sponsored by: viaVerio will pay you up to
$1,000 for every account that you consolidate with us.
http://ad.doubleclick.net/clk;4749864;7604308;v?
http://www.viaverio.com/consolidator/osdn.cfm
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



[Alsa-devel] help needed on how to autoload snd-usb-midi

2002-10-15 Thread karsten wiese

Hi,

I am in the process of updating the tascam us-428
patch for alsa-current and need some hints:
formerly the snd-usb-us428 issued 
request_module( snd-usb-midi);
to load that module. this doesn't work with
alsa-current anymore as the snd-usb-audio
initialisation, which is triggered, conflicts with the
initialisation of snd-usb-us428.
thus I deleted that request_module( snd-usb-midi);
from snd_usb_us428.
I remember from some Mail on this list, that
snd-usb-midi  would be autoloaded if a users process
accesses a mididevice, which has been created by 
snd_seq_device_new( ...SNDRV_SEQ_DEV_ID_USBMIDI).
this does not happen here now.
what do I miss?
for the tests I use the bristolsynth with
./startBristol -alsa -audiodev hw:1 -mididev hw:1
having issued modprobe snd-usb-midi before,
everythingg works as expected. otherwise 
Could not open the MIDI interface.
Error opening midi device hw:1, exiting midi thread

TIA, Karsten

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



Re: [Alsa-devel] help needed on how to autoload snd-usb-midi

2002-10-15 Thread karsten wiese

Clemens Ladisch schrieb: 
 karsten wiese wrote:
  I am in the process of updating the tascam us-428
  patch for alsa-current and need some hints:
  formerly the snd-usb-us428 issued
  request_module( snd-usb-midi);
  to load that module. this doesn't work with
  alsa-current anymore as the snd-usb-audio
  initialisation, which is triggered, conflicts with
 the
  initialisation of snd-usb-us428.
  thus I deleted that request_module(
 snd-usb-midi);
  from snd_usb_us428.
 
 snd-usb-midi isn't anymore an independent driver, it
 has been integrated
 into snd-usb-audio (as you've seen), although it's
 still a separate
 module. In theory, it may be possible to do the same
 stuff as
 snd_usb_create_midi_interface() to make it load
 correctly.
here is the routine that is used in snd-usb-us428:
static int snd_us428_create_usbmidi( snd_card_t* card
)
{
#if defined(CONFIG_SND_SEQUENCER) ||
defined(CONFIG_SND_SEQUENCER_MODULE)
static snd_usb_audio_quirk_t quirk = {
.vendor_name =  TASCAM,
.product_name = US-428,
.ifnum =0,
.type = QUIRK_MIDI_FIXED_ENDPOINT,
.data =  (const snd_usb_midi_endpoint_info_t) {
.epnum =6,
.out_cables =   3,
.in_cables =3
}
};
snd_seq_device_t *seq_device;
snd_usb_midi_t *umidi;
int err;

err = snd_seq_device_new( card, us428(
card)-chip.next_seq_device,
 SNDRV_SEQ_DEV_ID_USBMIDI,
 sizeof(snd_usb_midi_t), seq_device);
if (err  0)
return err;
us428( card)-chip.next_seq_device++;
strcpy(seq_device-name, card-shortname);
umidi = (snd_usb_midi_t
*)SNDRV_SEQ_DEVICE_ARGPTR(seq_device);
umidi-chip = us428( card)-chip;
umidi-ifnum = 0;
umidi-quirk = quirk;
umidi-seq_client = -1;
#endif
return 0;
}
its a copy-change of usb-audio. something wrong here ?
cannot be completely wrong: if snd-usb-midi is loaded
manually,
everything works ok.

 
 IMHO the best solution would be to add a quirk to
 usbaudio.c, instead of
 writing an entirely separate driver with most of the
 code duplicated. I
 didn't look at your patch in full length, but it
 seems to me that the
 changes needed would be firmware loading (best done
 in a separate driver
 or a userspace program) and adding some information
 about supported audio
 formats/bitrates. (I'm sure I've missed something.
 :)
the us-428 audio is very nonstandard:
it is necessary to know how many frames are just
recorded to be able to playback without unwanted
crackles. I found no other way to determine the exact
samplerate. furthermore there are the hardware knobs,
sliders and lights, the digital in switch

 
  I remember from some Mail on this list, that
  snd-usb-midi  would be autoloaded if a users
 process
  accesses a mididevice, which has been created by
  snd_seq_device_new(
 ...SNDRV_SEQ_DEV_ID_USBMIDI).
  this does not happen here now.
 
 Autoloading happens if there is an alias for
 snd-card-x (x derived from
 the client number) in modules.conf, and if the card
 driver calls
 snd_seq_device_new() for the sequencer driver. (BTW:
 there was a bug with
 autoloading sequencer drivers which has been fixed
 yesterday)
mmh, i just checked again my tree: it is current.
I put a line 
alias snd-card-1 snd-usb-midi 
(the us-428 is my second card) 
into modules.conf. is it this what you suggest?
unfortunately the autoload still does not happen.
Trying to start the Synth with:
./startBristol -alsa -audiodev hw:1 -mididev hw:1
snd-usb-midi is still not loaded and the error message
is:
ALSA lib rawmidi_hw.c:227:(snd_rawmidi_hw_open) open
/dev/snd/midiC1D0 failed: No such file or directory
Could somebody please explain, how a specific midi
module gets loaded on a user processes access of an
alsa (raw)midi device ?

Karsten



__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



Re: [Alsa-devel] help for a levelmeter

2002-10-15 Thread karsten wiese

Laurent Georget: 
   Hello,
 
 I 'd like to make a levelmeter program which would
 display sound card
 input/output
 while the audio device is opened by another program.
 I tried to use copy
 plugin  , but now (since 0.9.0rc3 ) the
 snd_pcm_copy_open give a implicit
 declaration of function
hmm, it is still declared in
alsa-lib/include/pcm_plugin.h ...?
 message . (Anyway, i don't know if using this plugin
 was correct for
 that purpose)
 
 So, would you know a way to read audio data going to
 (or coming from)
 the device , when it is opened by another program ?
 
 Thanks for any help!
 
 Laurent

(there is a jack meter client @
http://plugin.org.uk/meterbridge/)


regards, karsten


__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


---
This sf.net email is sponsored by: viaVerio will pay you up to
$1,000 for every account that you consolidate with us.
http://ad.doubleclick.net/clk;4749864;7604308;v?
http://www.viaverio.com/consolidator/osdn.cfm
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



RE: [Alsa-devel] snd_ prefix for module options

2002-10-09 Thread Karsten Wiese

 Hi,
 
 so far, all alsa modules use snd_ prefix for each module option.
 iirc, there was a problem regarding namespace at the time of 2.0
 kernel, and this was some workaround to avoid confliction.
 but 2.2 and later kernels have no such a problem at all.
 
 so, i'd like to ask you how do you think to remove this snd_ prefix.
 of course, there is one and only big problem - compatibility!
 
 
 the questions are
 
 - whether we should really do it or not?  is it worthy?
 
leave it like it is.
changing would break lots of users module.conf entries,
which might be the fruits of hours of work.

 and
 
 - when? now or after 0.9.0-final release?
 
 
 opinions, please?
 
 
 Takashi
 
 
 ---
 This sf.net email is sponsored by:ThinkGeek
 Welcome to geek heaven.
 http://thinkgeek.com/sf
 ___
 Alsa-devel mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/alsa-devel
__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Yahoo! präsentiert als offizieller Sponsor das Fußball-Highlight des
Jahres: - http://www.FIFAworldcup.com


---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



AW: [Alsa-devel] usb quattro

2002-09-05 Thread Karsten Wiese

 Here's what I get from ksymoops

 
 Warning (compare_maps): ksyms_base symbol
 vmalloc_to_page_R__ver_vmalloc_to_page not found in System.map.
 Ignoring ksyms_base entry
 Unable to handle kernel NULL pointer dereference at virtual
 address 0020
 c01e52e4
 *pde = 
 CPU:0
 EIP:0010:[c01e52e4]  Not tainted
 Using defaults from ksymoops -t elf32-i386 -a i386
 EFLAGS: 00010097
 eax: cf21cc84   ebx: cf21c480ecx: d7efd3fc  edx: cf21c484
 esi:    ed1: 0097 ebp: cf21cc84   esp: c0287f38
 Warning (Oops_set_regs): garbage 'ed1: 0097 ebp: cf21cc84
 esp: c0287f38' at end of register line ignored
 ds: 0018es: 0018   ss:0018
 Process swapper (pid: 0, stackpage=c0287000)
 Stack:  0292 d7efd3fc  cc00 d7efd380 c0287fac c01e535b5
 d7efd380
  d7efd380 d7eede80 0401 000b c0109e8a 000b d7efd380
 c0287fac
  c0287fac 000b c02bee80 d7eede80 c010a018 000b c0287fac
 d7eede80
 Call Trace: [c01e53b5] [c0109e8a] [c010a018] [c0106f10]
 [c0106f10]
 [c010c108] [c0106f10] [c0106f36] {c0106fc2] [c0105000]
 Code: c7 46 20 98 ff ff ff 8b 43 10 8b 1b 80 b8 00 00 00 8b 48


  EIP; c01e52e4 uhci_remove_pending_qhs+44/90   =


the Tascam US-428 driver (copied / changed from snd-usb-audio ) showed a
similar problem.
I worked around it by not using ASYNC_UNLINKing of the urbs.

uhci_remove_pending_qhs is called to unlink urbs in ASYNC mode.
seems as if uhci has a bug ? or may we asyncly unlink only 1 urb at a time?
any experiences with kernels  2.4.18 ?

Karsten


__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


---
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



Re: [Alsa-devel] [PATCH] integrate snd-usb-midi into snd-usb-audio

2002-09-03 Thread karsten wiese

 --- Takashi Iwai [EMAIL PROTECTED] schrieb:  Hi,
 
 thanks.  the patch is applied now to cvs.
 could you check whether it works for you?
 
 
 Karsten, can you rewrite the patch for your tascam
 driver based on
 this new mechanism?  if any other changes are
 needed, please let us
 know.
 
no changes needed. works well as it is now.
changed tascam driver available via email.
Tascam did not answer yet our calls to allow us the
use of their firmware.

proposal for autoloading snd-usb-midi from
snd-usb-audio if needed:

request_module( snd-usb-midi);

this way the tascam driver releaves the user from
taking care that snd-usb-midi is present.

Karsten

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


---
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



[Alsa-devel] usb-audio: variable periodsize / nframes per callback can shorten latency times

2002-08-19 Thread Karsten Wiese

Hi,

usb iso transfers happen every 1ms (USB1.1) ( or at multiples of 125µs for
USB2.0).
this timing is fixed and leads to a variable amount of frames available at
interrupt.
looking at 44100Hz on USB 1.1, we receive/send 44 frames on 9 of 10
USB-interrupts and 45 frames on 1 of 10
USB-interrupts.
on first sight 48000Hz seams to lead to a constant 48 frames per interrupt.
this does not remain true if the USB-audio device is in sync to an
externally connected device (digital in).
the current usb-audio mimics constant period size in the USB-interrupt
routines by calling snd_period_elapsed() only, if at least full period sizes
are transfered on the usb.
this good for constant period-size compatibility but leads to sub-optimal
latency: i.e. for capture worst case, audio apps start working 1ms later
than possible.
How can we implement the latency-optimal behaviour with alsa-driver
framework?
Can we implement something like a snd_1ms_elapsed() routine (called from
USB-interrupt), which in turn triggers a waiting app with the available
period size (which would be 44 or 45 frames for 44100Hz)?
I would like to see this in ALSA / JACK.
What do you think?

regards,
Karsten

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


---
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



Re: [Alsa-devel] usb-midi rc3 patch request

2002-08-19 Thread karsten wiese

 --- Takashi Iwai [EMAIL PROTECTED] wrote:  At Fri, 16
Aug 2002 12:34:50 +0200 (CEST),
 karsten wiese wrote:
  
  hallo,
 
  the attached patch exports two functions of
usb-midi,
  so other device-owning drivers can use
usb-midi's
  capabilities.
  the patched usb-midi driver is used by the us428
  driver through those exported functions.
  we can avoid having different alsa-devices for the
  same physical device this way.
  plus usb-midi can be used for non standard
devices,
  which need special initialisations through a
special
  driver first.
  the patched usb-midi drivers should work in all
other
  cases exactly as before.

 sorry, your patch looks still a bit hacky, perhaps
 because you wanted
 to keep the usb-midi code as original as possible.

 i think we need rather rewrite the top of usb device
 management (on
 alsa).  there is also another problem in this
 regard, for example,
 a device with both midi and audio is assigned to two
 different cards,
 since midi and audio handles it individually.

the patch adresses just that. here the output of
cat /proc/asound/devices
  0: [0- 0]: ctl
  8: [0- 0]: raw midi
 16: [0- 0]: digital audio playback
 24: [0- 0]: digital audio capture
  1:   : sequencer
 33:   : timer
 32: [1- 0]: ctl
 57: [1- 1]: digital audio capture
 48: [1- 0]: digital audio playback
 56: [1- 0]: digital audio capture
 40: [1- 0]: raw midi
 41: [1- 1]: raw midi

cat /proc/asound/cards
0 [card0  ]: ES1978 - ESS ES1978 (Maestro 2E)
 ESS ES1978 (Maestro 2E) at
0x1400, irq 5
1 [card1  ]: USB US-428 - TASCAM US-428
 TASCAM US-428 (1604:8001 if 0 at
001/003)

the us428 driver calls the snd-usb-midi like this:

 err = snd_usbmidi_card_create(  us428-dev,
 us428-usbmidi,
us428-card,
 us428-usbmidi_devnum
 );
interesting here is that us428-card has already been
initialized from the us428 driver before.
the patched snd_usbmidi_card_create() creates thus
er...  (hacky, cause the name doesnt fit anymore)
NO card on its own but uses the supplied one.
Would it be sufficient to add an extra function like
snd_usbmidi_card_attach() instead of overloading
snd_usbmidi_card_create()?


 let's discuss about it at first.

 (BTW, could you check the legal condition of
 firmware on tascam
  device?  i'd like to put the stuffs but without
 this permission it's
  of course unacceptable...)

what exactly do you need? I once tried to get an
answer from turtle beach,
which did not happen...
tascam will most likely not agree to release the
firmware under GPL in any form nor object- nor
source-code.
is it sufficient, if tascam just allows ALSA to use 
publish their firmware as it is now?
now it consists of char arrays in C header files
representing raw binary data sniffed from the win2k
USB.
tascam will likely want a comment in the header
stating that it is forbidden to disassemble,
that the code in that file is their property and may
only be used to compile the code  nothing else.
is there such a file header aside the GPL-world
already to be used as temlate?

AND does anybody know somebody @ TASCAM?

Karsten

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


---
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



[Alsa-devel] usb-midi rc3 patch request

2002-08-16 Thread karsten wiese

hallo,

the attached patch exports two functions of usb-midi,
so other device-owning drivers can use usb-midi's
capabilities.
the patched usb-midi driver is used by the us428
driver through those exported functions. 
we can avoid having different alsa-devices for the
same physical device this way.
plus usb-midi can be used for non standard devices,
which need special initialisations through a special
driver first.
the patched usb-midi drivers should work in all other
cases exactly as before.

patch_usbmidi_rc3.tar.bz2 contains 
file diffs :  patch file
file alsa-kernel/usb/usbmidi.h : to be added header

best regards,
karsten


__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


patch_usbmidi_rc3.tar.bz2
Description: patch_usbmidi_rc3.tar.bz2


[Alsa-devel] tascam us-428 patch 0.0.2

2002-08-15 Thread Karsten Wiese

hey,

on http://hal9000.drehmoment.org/tascam/ you can download a patch against
cvs of august 14.
it contains:

- snd-usb-us428
  downloads firmware to endpoint 2.
  creates 2 midi devices through the patched snd-usb-midi
  and 2 input + 1 output pcm devices.

- snd-usb-midi with exports
  same as before ( i hope...), except added exports to make it callable by
snd-usb-us428.
  Clemens and Takashi: you think its ok, or is there a better way?

- snd-usb-us428-dl
  firmware for a coldly booted us-428.
  this driver's task can shurely be done by a generic ez-usb
firmware-loader.
  for now it is needed to prepare the us-428 for the snd-usb-us428 module.

midi  audio work i.e. with the bristol-synths (44100  48000 S16_LE).
the us-428 control's messages are only printked except for the master volume
slider, which is functional.

the firmware and usb messages have been sniffed from the win2k 3.09 driver
with an improved version of sniffusb 1.5. (there has been no support from
tascam so far)
should you like to sniff, i'll mail the sniffer to you.

there are still some things to improve like
- mapping the controls messages to midi messages
- stearing the leds by midi messages
- enhancing audio (24bit (possible by simply using altsetting 2), input
monitoring)

cheers,
karsten

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


---
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



AW: [Alsa-devel] general audio card Q

2002-07-31 Thread Karsten Wiese

Paul wrote:

 cards that do not use DMA should generally be considered inferior
 because of the extra CPU cycles they force on the host system.

not generally. i.e. the pinnacle/fiji way is to map a piece of memory into
the pc's memory space.
thus an application using alsa-mmap can write (or read) directly into the
cards pcm-memory.
pretty efficiently, don't you think? (except that its ISA-memory)
(it can do so with 2 or 3 periods per buffer).
I don't see any drawback here caused by the lack of DMA.

regards, Karsten

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


---
This sf.net email is sponsored by: Dice - The leading online job board
for high-tech professionals. Search and apply for tech jobs today!
http://seeker.dice.com/seeker.epl?rel_code1
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



[Alsa-devel] USB tascam us-428

2002-07-23 Thread karsten wiese

attached is one first step of a driver for that blue
box.
(apply the diff to a cvs-download and copy the other
files into the alsa-driver/usb directory to build it.)
It does the coldboot (DeviceID 0x8000) firmware
download after the us428 is switched on.
you can use the a.out together with libusp  usb-robot
to do that coldboot firmware download from a shell.

having done the download against a freshly switched on
us-428, it says it has deviceID 0x8001 (like with
windows).

regards, Karsten



__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


us428.0.0.1.tar.bz2
Description: us428.0.0.1.tar.bz2


Re: [Alsa-devel] Turtle Beach Pinnacle/Fiji alsa driver 0.1.3

2002-07-09 Thread karsten wiese

Hi Takashi,

Takashi Iwai [EMAIL PROTECTED] wrote:  Hi Karsten,
 
 At Sat, 6 Jul 2002 15:11:36 +0200 (CEST),
 karsten wiese wrote:
  
  here is a newer version.
  it doesn't crash the pc when using oss emulation
  anymore. 
  it can do 2 (or 3) periods per buffer now.
 
 thanks for your work.
 now it's committed to cvs.  please check the cvs
 tree.

works fine here :-)

 
 i changed slightly your patch:
 
 - the module is renamed as snd-msnd-classic (with
 hyphen)
 - all stuffs are still on alsa-drivers.  will be
 moved to alsa-kernel
   and submitted to 2.5 kernel tree later once after
 it's confirmed to
   work fine.  this is our policy.
   
 regarding to pnp.
 is it possible to integrate it using the standard
 isapnp api?
 or is it a specific one?

hmmm.., don't know  don't want to test that on this
machine, 'cause it is to also run NT4 (:no pnp for
stability) for commercial reasons.

 
 
 ciao,
 
 Takashi 

can we put the firmware-binaries on cvs as well?
so far it is necessary to extract them with some extra
steps...

best,

Karsten

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Yahoo! präsentiert als offizieller Sponsor das Fußball-Highlight des
Jahres: - http://www.FIFAworldcup.com


---
This sf.net email is sponsored by:ThinkGeek
Stuff, things, and much much more.
http://thinkgeek.com/sf
___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



[Alsa-devel] Turtle Beach Pinnacle/Fiji alsa driver 0.1.3

2002-07-06 Thread karsten wiese

Hi Takashi,

here is a newer version.
it doesn't crash the pc when using oss emulation
anymore. 
it can do 2 (or 3) periods per buffer now.


Takashi Iwai [EMAIL PROTECTED] schrieb:  Hi Karsten,
 
 
 
 thanks, we got finally the support for this old 
 card.
 i'd like to put this stuff into cvs, but before
 that, could you 
 check the following things?
 
 
 - missing rule for tb-classic module.

there is no classic module in this yet. mainly because
i don't have such a card and thus could not test the
driver. i left the files, so interested developers can
start easier. 
(i could do i module later that compiles but would be
absolutly untested. you mean that?)

 
   if there are two card modules, will there a common
 lowlevel
   module for them?  or will be integrated?

made no decision on that...

 
 - please remove the codes for old kernels.
   the compatibility routines should go to
 alsa-driver tree, not on
   alsa-kernel tree.

done.
 
 - is there a workaround for the jiffires warp 
 (32bit overflow)?

i only used jiffies in code that was not really used,
cause it generated errors in the framework  crackles
in the sound. 
maybe cause that overflow wasn't handled correctly?
no idea. commented that stuff out for now.

 - please reformat the codes with a certain indent.

done (correctly?)
 
 - you can use snd_printd() for debug printk.

done (mostly)
 
 - it'd be better to keep the uniformity of module
 parameters like
   other alsa modules, i.e. snd_xxx.

done 

 - obviously we can clean up msnd_pinnacle_mixer.c
 more :)

done

 
 ciao,
 
 Takashi
 


works:
PCM:  Stereo record / playback mmaped fullduplex
with the alsa-tools aplay, pcm, aplay -M, latency,
alsaplayer, amSynth, bristol, jack, ardour, artsd,
oss-emulation
MIXER:Master, Pcm, Line In, Monitor
MIDI: in
VERSION:  0.9rc2CVS, patch attached
OS:   tested on Slackware 8.1rc1

not...yet:
MIDI: out, header
SPDIF:
KURZWEIL: start a mpu401 device

the patch archive consists off a diff, which is to be
applied to the raw cvs-sources and two directories.
after copying the also contained directories into the
cvs tree do 

cvscompile 
make
make install
in alsa-driver as usual.

note: this has only been tested to build modules for a
2.4.18 kernel on an single 400MHz PII with a pinnacle
in non-pnp mode.

regards, karsten

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Yahoo! präsentiert als offizieller Sponsor das Fußball-Highlight des
Jahres: - http://www.FIFAworldcup.com


0.9rc2-0.1.3.tar.gz
Description: 0.9rc2-0.1.3.tar.gz


[Alsa-devel] Turtle Beach Pinnacle/Fiji alsa driver 0.1.2

2002-06-26 Thread karsten wiese

hi,

new in this is pcm record and midiin.
latency (latency -m32 -M32 -b -r 48000, patched to
allow 3 periods) runs with down to 32 frames.
amSynth runs well with it on an 400PII. 
mmap driver for amSynth available from me. 
not needed, but gives you more voics with the
fiji/pinnacle.


works:
PCM: Stereo record / playback mmaped fullduplex
with the alsa-tools aplay, pcm, aplay -M, latency with
3 periods patch, alsaplayer, amSynth
MIXER:   Master, Pcm, Line In, Monitor
MIDI:in
VERSION: 0.9rc2CVS, patch attached
OS:  tested on Slackware 8.1rc1

not...yet:
PCM: periods / buffer != 3
MIDI:out
SPDIF:
KURZWEIL: start a mpu401 device

the patch archive consists off a diff, which is to be
applied to the raw cvs-sources and two directories.
after copying the also contained directories into the
cvs tree do 

cvscompile 
make
make install
in alsa-driver as usual.

note: this has only been tested to build modules for a
2.4.18 kernel on an 400MHz PII with a pinnacle in
non-pnp mode.



For additional infos concerning the fiji/pinnacle
cards search for the pinnacle oss-free driver docus on
the web.
there is a how-to install the needed firmware-files
also.

cheers, karsten

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Yahoo! präsentiert als offizieller Sponsor das Fußball-Highlight des
Jahres: - http://www.FIFAworldcup.com


0.9rc2-0.1.2.tar.gz
Description: 0.9rc2-0.1.2.tar.gz


[Alsa-devel] Turtle Beach Pinnacle/Fiji alsa driver 0.1.1

2002-06-14 Thread Karsten Wiese

hi,

new in this is onboard memory maped playback at up to 1387 cycles/s ;-)
on a 400PII with no xruns, if it runs with realtime scheduling with no other
hungry tasks.
it is still err.. a little unstable: for instance crashes while accessing
some /proc/asound files.

works:
PCM:Stereo playback @44100 with the alsa-tools aplay  pcm  aplay -M
MIXER:  Master, Pcm
VERSION:0.9rc1CVS, patched sources, diffs available via e-mail
OS: Slackware 8.1rc1

not...yet:
PCM:Record
MIDI:
SPDIF:

cheers, karsten



_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas - 
http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink

___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



[Alsa-devel] Turtle Beach Pinnacle/Fiji

2002-05-25 Thread karsten wiese

somebody working on drivers for this card?

__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Yahoo! präsentiert als offizieller Sponsor das Fußball-Highlight des
Jahres: - http://www.FIFAworldcup.com

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



[Alsa-devel] small enhancement to es1968.c

2002-05-20 Thread karsten wiese

hallo,

this one lets the volume reach maximum on both
channels also by using the extra volume-control-knobs
found on some laptops. 
the diff was run against the cvs - version of today.


--- es1968.c_cvsMon May 20 22:09:37 2002
+++ es1968.cMon May 20 22:12:11 2002
@@ -1981,7 +1981,7 @@
/* volume up */
if ((val  0xff)  0)
val--;
-   if ((val  0xff00)  0x100)
+   if ((val  0xff00)  0)
val -= 0x0100;
} else {
/* volume down */


best regards, karsten


__

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Sie brauchen mehr Speicher für Ihre E-Mails? - http://premiummail.yahoo.de

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel