EsotericLabs

[SOLVED] Debugging my MB-6582 - Part 2 - Software upload issue

9 posts in this topic

Hi again,

 

thanks to Ilmenator and Shuriken my silly hardware issue is now resolved.  The second thing is a software issue.  The MB-6582 has all four cores stuffed but only 1 & 2 have SID's (8580's)

 

I managed to upload the setup_mb6582.hex package to the first core, which is now in perfect working order.  Reading thru the forum, I found that I must clone the firmware to the other cores (press menu on power up). It starts the cloning sequence and says on the LCD:

Cloning Slave 01
Address: 0

Then

Cloning Slave 02
Address: 0d   !!!!

And

Cloning Slave 03
Address: 0d   !!!!

and finally

Cloning slave 03
!!!!! FAILED !!!!!

And then reboots. SID 1 is still working properly, but pressing SID2-3-4 buttons gives:

SID2 not available 
(CAN Bus Errors)

 

I've tried several times now with identical results. Am I missing some info or is there a problem with my box?  Thanks for your clues..

Edited by EsotericLabs

Share this post


Link to post
Share on other sites

Jaaaa! Got this one fixed as well. If the firmware won't go to the PIC, the PIC must go to the firmware...

So i removed PIC #1, put PIC#2 in core 1 socket, uploaded firmware. And PIC#2 nicely said: MidiBox Sid V2.043 - and then something about not starting the CS. Well its device id #1 after all. Good news, so PIC#2 back in slot #2, pic#3 in slot 1, upload , etc.

Bingo!

Edited by EsotericLabs

Share this post


Link to post
Share on other sites

Great that you got it fixed - I remember having the exact same issue (and the same solution) :thumbsup: .

Share this post


Link to post
Share on other sites

OK then, fix confirmed and doc'ed on the forum.

Share this post


Link to post
Share on other sites

Did that fix the cloning or did it just place the firmware on it?

Because you could keep the chips seated where they are and just move the jumper on J11..

It's strange that so many people have the same issue though (i found more topics like this on the forum)

I'm having the exact same issue myself.

Share this post


Link to post
Share on other sites

Posted (edited)

I'm actually having this issue right now (almost ~5 years after this post originated ;-)

I tried writing just the basic bootloader hex to each PIC, then running through the clone process (press menu button while powering on), but this fails for me every time, exactly the same way as in the original post... 

Following the advice here, I tried the same approach that @EsotericLabs has outlined, of burning the basic bootloader to each PIC (e.g., bootloader_v1_2b_pic18f4685.hex) then moving them, one-by-one, into the Core 0 socket in the MB-6582, so that I could apply firmware using MIOS (e.g., mios8_v1_9h_pic18f4685.hex).

That process worked fine, but once I moved the PICs into their correct sockets, MIOS couldn't see them as Device ID 1, 2 or 3?

In a separate thread, there's discussion of having to use "change_id v1_9g" to change the default Device ID of 0 that the PICs receive with base bootloader image.

The 'change id' package even contains new hex files with names like device_id_00.hex, device_id_01.hex, device_id_02.hex, device_id_03.hex. I've tried to use these in place of bootloader_v1_2b_pic18f4685.hex, but this didn't help. 

MIOS can communicate perfectly with my Master Core 0, but it's unable to see any of my Slave cores over a different Device ID.

BTW - I can confirm that I've been moving J11 to correspond to the Core I wanted MIOS to be able to communicate with.

...So basically, I still haven't been able to create Slave Cores. (uhg!)

Any suggestions are appreciated.

Edited by dwestbury

Share this post


Link to post
Share on other sites

Posted (edited)

Every Core (socket) is sharing the Midi IN "lane", so if every PIC has got it's own ID, you can communicate directly via MIOS Studio with every PIC by ID.

But 

Midi OUT is set by J11 to get feedback from MIOS Studio

http://www.midibox.org/dokuwiki/doku.php?id=wilba_mb_6582

(Questions and Answers)

Next Question,

How to Clone and why?

You don't need to because you must upload MIOS anyway. So it's just one step less. (Someone should correct me because I'm not 100% sure about that but I explain why) The cloning function is just for updates or to clone setupmb6582 to all slaves. (and this is ok if you just use 8580/6582 SIDs)

For better understanding:

the setupmb6582 is the firmware for the Master Core (Operating Software)

but if you use some 6581 in slave 1, than you should choose setup-6581 for this core.

If you clone (hold menu down by startup) every core uses the 8580/6582 firmware (which has a different filter table than 6581)

Further Information

http://www.ucapps.de/midibox_sid_manual_hw.html

(Multi SID setup)

Edited by Noise-Generator
1 person likes this

Share this post


Link to post
Share on other sites

Posted (edited)

@Noise-Generator yet more useful info, thanks... I've been digging through so much online material that it's clearly started to clog my brain and prevent the facts from making their way in!

My MB-6582 contains 8 x 8580R5's, so the ability to clone across all cores whenever a new firmware comes out, would actually be really useful. I'd prefer not to have to touch the hardware again.

The piece my brain is struggling with is, at what point in the process of creating the Slave cores do they receive their unique Device ID? 

I have a hunch that I should have been using MIOS to apply the device specific hex files, instead of my PIC writer... I'm going to try that now... (fingers crossed

 

Edited by dwestbury

Share this post


Link to post
Share on other sites

Posted (edited)

SUCCESS! My hunched panned out... So now I have all cores working properly, with the correct Device ID's...

Once again, in the end the process was simple and straight forward, but easy enough to get confused with...

 

For anyone that's interested in a step-by-step guide, here's what I did...

Step 1: Write the basic bootloader to all 4 of your PICs

Step 2: Place the PIC that will become the Master Core 1 into the correct Socket, launch MIOS on your computer and access it as Device 0

Step 3: Now you'll use MIOS to write the MIOS OS hex, followed by the setup_mb6582 hex.

(more info for steps 1-3 here: (http://midibox.org/forums/topic/21324-change-pic-id-using-a-mac-for-mb-6582-core-0/#comment-186254)

Step 4: Once you're done with Core 1, you can test your control surface navigation, listen to the default patch sound, etc...

Step 5: At this stage I chose to remove Core 1. I didn't want MIOS to be confused when I added in Core 2, which will have the same Device ID 0 (not sure if this step was necessary though?)

Step 6: Place the first Slave, Core 2, into its proper destination socket. You'll need to move the J11 jumper to position 2 to enable MIDI out to come from Core 2. You'll also need to move the LCD cable to J15_CORE2 so you can watch the screen through each update phase

Step 7: Power up your MB-6582, MIOS should see Core 2 as Device ID 0 now. Go ahead and write the MIOS OS and setup _mb6582 hex files, just as you did for the Master Core 1

Step 8: Now you'll change Core 2 to become Device ID 1 by using MIOS to write the 'device_id_01.hex' file that comes bundled with 'change_id_v1_9g.zip' (available in the troubleshooting section http://www.ucapps.de/mios_download.html)

Step 9: Your device should reboot after you've written the device_id_01.hex. When it comes back online your LCD should show "New ID Header: 0000000000000001" - you've done it! MIOS should see Core 2 as Device ID 1 now

...Now you'll basically be repeating Steps 6-9 for each of the remaining Slave Cores...

Step 10: Power down your MB-6582 and add Core 3 into its proper destination socket. Move J11 to position 3 and the LCD cable to J15_CORE3 

Step 11: Power up and do the same as Step 6, using MIOS with Device ID 0, to write the MIOS OS and setup mb_6582 hex files 

Step 12: Similar to Step 7, you're ready to change Core 3 to become Device ID 2, by using MIOS to write the 'device_id_02.hex' file you downloaded with the change_id package

Step 13: When your device finishes rebooting, your LCD should show "New ID Header: 0000000000000002" and MIOS should see Core 3 as Device ID 2

Step 14: Power down your MB-6582 again, add Core 4 into the proper destination socket, move J11 to position 4 and the LCD cable to J15_CORE4

Step 15: Power up and do the same as Step 6, using MIOS with Device ID 0, to write the MIOS OS and setup mb_6582 hex files

Step 16: Now you're ready to change Core 4 to Device ID 3, by using MIOS to write the 'device_id_03.hex' file you downloaded with the change_id package

Step 17: When your device finishes rebooting, your LCD should show "New ID Header: 0000000000000003" and MIOS should see Core 4 as Device ID 3

Step 18: Power down your MB-6582, add Core 1 back into its lonely socket, move J11 to position 1 and the LCD cable to it's permanent home on J15_CORE1

That's it.. When you power back up you should have a full set of Master and Slave cores with all the correct Device IDs!

 

Word Doc here: https://1drv.ms/w/s!AtmSvwylfFJaggnN1TtalEzGQK1C?e=D6UJrH

Cheers!

 

IMG_1067.jpg

IMG_1053.jpeg

IMG_1069.jpg

IMG_1054.jpeg

IMG_1072.jpg

IMG_1056.jpeg

IMG_1074.jpg

IMG_1051.jpeg

Edited by dwestbury

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now