Decided to post my own thread afterall, because I'm going a bit wonko with this now.
I'm attempting to follow the process laid out in this video(Ender 3 Mods Series Pt 2 usbasp bootloader flash and firmware upgrade on the Ender 3 - YouTube) for flashing a bootloader to an Ender 3 3D printer using a USBasp and the Arduino IDE. The problem is on reaching the stage around the four minute mark of the video, with the USBasp connected to both PC and printer mainboard, the Ports menu in the IDE is greyed out(this image depicts what I see, regardless of what is plugged in, including nothing: https://i.imgur.com/kcsqK5r.jpg). When I go to Device Manager, the only unknown device isn't related(old bluetooth adapter) and the Ports menu doesn't even exist(yes, even after using Show Hidden Devices), but Windows does recognise the USBasp is plugged in.
I've installed and reinstalled the USBasp drivers. I've updated and reinstalled every USB-related driver and motherboard chipset driver I can think of for my PC. I forced the old style hardware wizard open in command line and manually added a COM port to device manager, in the hope that would allow something to show up; it did not. I've tried varying the order in which I plug things in, no effect. I tried connecting the printer directly using the inbuilt mini USB port and a cable that is rated for both power and data, that didn't cause anything to show up either. I tried manually extracting some legacy USB-to-serial drivers from the TH3D Arduino/printer firmware package, but attempting to install via r-click context menu returns a "The INF file you selected does not support that method of installation" error. I've disconnected every USB device except my keyboard & mouse, and tried every combination of those and the USBasp into my available USB slots(two blocks of USB 3.0, two blocks of USB 2.0, each block on its own controller) with no effect. Every solution I've seen proposed online to this issue involves using the Ports menu in the Device Manager but that never shows up for me in the way people describe.
I'm already outside my normal level of computer nerdery and I still can't even figure out why what's supposed to be a simple plug & play process isn't functioning, let alone how to fix it. I would really appreciate a hand, if anyone can think of anything to help.
The usbasp does not present as a serial port, so this is not a problem at all.
Depending on the hardware package in use for that board you mention, you may need to choose upload using programmer instead of upload (if the board definition specifies a serial bootloader)
Yeah, the person who made that video just gave some bad information about the Tools > Port menu. Them selecting Tools > Port > COM1 did absolutely nothing and their COM1 has nothing to do with the USBasp.
In the video, after burning the bootloader with the USBasp, they disconnect the USBasp and then do a regular upload via the USB cable plugged into the printer board. You do have the option of leaving the USBasp connected and doing an Upload Using Programmer rather than a standard Upload instead but it's probably easier to just follow along with the video. That way you only need to do the Burn Bootloader process with the USBasp once and after that you can update the firmware anytime you like over the USB cable instead of needing to open the thing up to connect the USBasp every time.
pert:
Yeah, the person who made that video just gave some bad information about the Tools > Port menu. Them selecting Tools > Port > COM1 did absolutely nothing and their COM1 has nothing to do with the USBasp.
In the video, after burning the bootloader with the USBasp, they disconnect the USBasp and then do a regular upload via the USB cable plugged into the printer board. You do have the option of leaving the USBasp connected and doing an Upload Using Programmer rather than a standard Upload instead but it's probably easier to just follow along with the video. That way you only need to do the Burn Bootloader process with the USBasp once and after that you can update the firmware anytime you like over the USB cable instead of needing to open the thing up to connect the USBasp every time.
Right I know the USBasp doesn't present that way, my understanding was it's the E3's mainboard that does once connected through it, since it requires the most basic kind of protocol to flash the bootloader via the ISP header. I've watched several videos covering the process using either USBasp or Unos and they all show the IDE assigning a COM port to the devices once plugged in and make a point of telling people to select them. Are they all incorrect, and you can just plug in the USBasp and go?
I just need to be 100% certain because if I do this and it screws up, my brand new printer becomes a 200 quid brick that I have zero idea how to fix.
Yodhrin:
they all show the IDE assigning a COM port to the devices once plugged in
The OS will assign a COM port to the board after you plug in the USB cable directly to the printer board. The OS will not assign a COM port to the USBasp.
Yodhrin:
Are they all incorrect, and you can just plug in the USBasp and go?
Correct. All those videos are probably just blindly parroting each other without actually understanding what they're talking about. Don't forget the step where you put your left hand in and your left hand out and do the hokey pokey and turn yourself about.
I just watched another minute of the video you linked and saw even more bad information:
Selecting Tools > Programmer AVRISP mkII was completely pointless. It doesn't matter which programmer you have selected when doing a normal upload.
Compiling the firmware by clicking the checkmark button was just a waste of time. The Arduino IDE always compiles before you do an upload. If there is an error that causes compilation to fail then it will abort the upload.
pert:
The OS will assign a COM port to the board after you plug in the USB cable directly to the printer board. The OS will not assign a COM port to the USBasp.Correct. All those videos are probably just blindly parroting each other without actually understanding what they're talking about. Don't forget the step where you put your left hand in and your left hand out and do the hokey pokey and turn yourself about.
But that's what I'm saying - no com ports seem to be getting assigned to anything, at any stage. I checked with a normal USB cable connection to the printer as well, there are still no Ports options in the IDE, and no Ports subheader in the Win7 Device Manager.
EDIT: Well, took the plunge and just did it - worked fine, no trouble whatsoever, and after flashing the bootloader plugging in the printer via USB not only got it assigned a COM port, Windows even automatically downloaded all the drivers.
Christ all that hassle because of one bit of Chinese Whispers info in a tutorial. Thank you pert & Azzy.