Patch for Hercules kernel mod broken by Linux 2.6.31

Post your mixes and promote your upcoming gigs...

Moderator: garth

Re: Patch for Hercules kernel mod broken by Linux 2.6.31

Postby neale » Thu Jun 28, 2012 6:48 pm

Yes, my kernel (3.4.3) also panics when I insert my mp3e2 using the kernel driver. The problem is stack corruption, probably due to a changed data structure. My "hdjd" program is a demonstration of how to speak to the controller from userspace, so we wouldn't need to keep patching the driver. It proved that it is simple to make the Hercules devices look like HID.

I am currently integrating USB bulk device support into Mixxx trunk. Until I'm finished with this, you are probably going to have to run an older (2.6) kernel with the hercules driver. I have heard some people are able to run a 3.2 or 3.3 kernel with the driver. Perhaps someone else will be able to advise you about the kernel module in later kernels.
User avatar
neale
 
Posts: 20
Joined: Sun Jun 24, 2012 9:50 pm

Re: Patch for Hercules kernel mod broken by Linux 2.6.31

Postby neale » Fri Jun 29, 2012 2:38 pm

I have created a branch of trunk with new code to support the MP3e2 and (maybe) the Mk2. More can be added easily.

Currently it does detect the presence of the controller, and allow you to enable it from the Controllers menu. But then it segfaults. It appears to be dying in the libusb_bulk_transfer call, but I haven't yet figured out why.

It's on launchpad: lp:~neale/mixxx/neale
User avatar
neale
 
Posts: 20
Joined: Sun Jun 24, 2012 9:50 pm

Re: Patch for Hercules kernel mod broken by Linux 2.6.31

Postby neale » Mon Jul 02, 2012 4:34 am

I just uploaded a new version of my branch. It recognizes the MP3e2, and will load a script. I have created a new script which implements at least ¾ of the existing MIDI script. Everything works just fine.

I need to figure out how to merge the script in properly, and then the branch should be testable by other people.

The device, it turns out, is nothing like an HID device. The commands it sends and recieves are MIDI. The new code introduces a new controller type, "bulk", for the MP3e2.
User avatar
neale
 
Posts: 20
Joined: Sun Jun 24, 2012 9:50 pm

Re: Patch for Hercules kernel mod broken by Linux 2.6.31

Postby faxtrode » Mon Jul 02, 2012 7:53 pm

I downloaded the tarball(3287 release) from your branch and compiled it on my laptop. Now MP3 E2 is in the list of midi hardware, but there is no layout for this device and it is imposible to configure buttons and commands manually from preferences menu. There is one thing else: when I connect the controller to my laptop after choosing the one in preferences menu, left CUE button begin blinking only, but device doesn't control the software. Have you achieved the result when you try to control Mixxx by MP3 E2 with your script ? As for me I haven't. May be I do something wrong.
faxtrode
 
Posts: 15
Joined: Sat Apr 21, 2012 1:43 pm

Re: Patch for Hercules kernel mod broken by Linux 2.6.31

Postby neale » Tue Jul 03, 2012 2:17 am

faxtrode wrote:there is no layout for this device and it is imposible to configure buttons and commands manually from preferences menu.


It's not quite ready to be tested. I am working on a script to support the MP3e2 but I haven't yet put it into the branch.

faxtrode wrote:left CUE button begin blinking only


That just means that the C++ code is all working properly. It was a debugging bit I put in when I was working on the C++ side, and forgot to remove. Thanks for the reminder!

I'll make another post when I've brought in the script--hopefully in a few hours--and then you should finally have something you can test!
User avatar
neale
 
Posts: 20
Joined: Sun Jun 24, 2012 9:50 pm

Re: Patch for Hercules kernel mod broken by Linux 2.6.31

Postby neale » Tue Jul 03, 2012 4:19 am

The version I just pushed may work for the MP3e2. Go ahead and pull it, do a build, and let me know what you think.

Note that not all of the old script's functionality is implemented. But it should be enough to give you an idea about whether this works or not.
User avatar
neale
 
Posts: 20
Joined: Sun Jun 24, 2012 9:50 pm

Re: Patch for Hercules kernel mod broken by Linux 2.6.31

Postby faxtrode » Wed Jul 04, 2012 11:59 am

Hi, neale, please, check your private messages, i sent you my remarks about MP3 E2 functionality, but the main idea is that it works with Mixxx finally!)
faxtrode
 
Posts: 15
Joined: Sat Apr 21, 2012 1:43 pm

Re: Patch for Hercules kernel mod broken by Linux 2.6.31

Postby neale » Wed Jul 04, 2012 3:24 pm

Excellent!

It looks like my work will be integrated into Mixxx. When it's finalized, I will make sure that the old controller scripts are used, so everybody has exactly the same experience that they are accustomed to. The controller script in my branch is just a "proof of concept", meant to demontstrate that lights, buttons, faders, and jog wheels all work.
User avatar
neale
 
Posts: 20
Joined: Sun Jun 24, 2012 9:50 pm

Re: Patch for Hercules kernel mod broken by Linux 2.6.31

Postby neale » Wed Jul 04, 2012 8:21 pm

Latest commit (to lp:~neale/mixxx/neale) comes with a Hercules-mp3e2-compat script which uses the old MP3e2 controller script with no modifications to control things with the new interface.

I couldn't help adding a new feature: the sync light now flashes to the beat.

Mixxx still doesn't exit properly in my branch. But you can totally run a gig with the current code, no kernel driver required.
User avatar
neale
 
Posts: 20
Joined: Sun Jun 24, 2012 9:50 pm

Re: Patch for Hercules kernel mod broken by Linux 2.6.31

Postby dunc623b » Sat Jul 21, 2012 11:00 am

Hi neale,

Thanks for your work on this, I was very happy to find this forum thread.

I do however, have a compilation issue with the latest copy of your tree, on Ubuntu 64-bit.

I pasted the output here.

http://pastebin.com/i9XhUzZ9

Any ideas?


TIA

Dunc
dunc623b
 
Posts: 1
Joined: Sat Jul 21, 2012 10:48 am

PreviousNext

Return to Mixsets / Gigs / Events

Who is online

Users browsing this forum: No registered users and 1 guest