Am Samstag, 5. Januar 2013, 21:26:51 schrieb Markus Grabner:
> Am Samstag, 5. Januar 2013, 12:49:50 schrieb Mariusz Kozlowski:
> > The oldest version I could (easily) compile is svn rev 549 from July 2009
> > which matches with my emails. Around that time snd_card_create() was
> > introduced and current kernels don't even have snd_card_new(). I had to
> > add a few missing includes, convert err() to printk(KERN_ERR) and enable
> > DEBUG_MESSAGES.
> >
> > I'm surprised but actually firmware version is detected correctly. The
> > dump looks a bit different. Maybe you can make something out of it.
> > From what I can tell firmware version is send in third 'packet'.
>
> Now I compared the two log files you provided, and the most obvious
> difference seems to be the fact that in the new version the firmware
> version request is sent immediately after the channel dump has been
> received, while in the old version there was a delay of one second before
> sending the request. Maybe the device needs some time after transmitting
> data to the host before being able to receive data in firmware version
> before 3.x, so I slightly changed the startup procedure to introduce a
> delay of 500ms before sending the firmware version request. In the
> (unlikely) case that the delay has to be more than 500ms, use "#define
> POD_STARTUP_DELAY 2000" in pod.h for testing.
>
> The changes are committed to the subversion trunk, so please try again with
> the current head revision, and if it doesn't work, please send another log
> file similar to the ones you sent before.
BTW, if this doesn't solve the problem, there is one more thing you can try.
Maybe the communication with the Variax interface of the PODxt Live confuses
the device, which can be disabled by applying the attached patch.
Kind regards,
Markus
Index: variax.c
===================================================================
--- variax.c (revision 976)
+++ variax.c (working copy)
@@ -679,12 +679,16 @@
int line6_variax_init(struct usb_interface *interface,
struct usb_line6_variax *variax)
{
+#if 0
int err = variax_try_init(interface, variax);
if (err < 0)
variax_destruct(interface);
return err;
+#else
+ return 0;
+#endif
}
/*
@@ -692,6 +696,7 @@
*/
void line6_variax_disconnect(struct usb_interface *interface)
{
+#if 0
struct device *dev;
if (interface == NULL)
@@ -716,4 +721,5 @@
}
variax_destruct(interface);
+#endif
}
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122912
_______________________________________________
Line6linux-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/line6linux-user