Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 045e:072d Microsoft Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 045e:076c Microsoft Corp. Comfort Mouse 4500
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 002: ID 16c0:05dc Van Ooijen Technische Informatica shared ID for use with libusb
The last one being the USBAsp's entry. When I run dmesg|tail this is what it shows:
[ 3047.867513] usb 8-1: new low-speed USB device number 2 using xhci_hcd
[ 3048.011819] usb 8-1: New USB device found, idVendor=16c0, idProduct=05dc
[ 3048.011831] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3048.011837] usb 8-1: Product: USBasp
[ 3048.011843] usb 8-1: Manufacturer: www.fischl.de
So I presume the device is recognized and almost ready to be used, but the Port menu item is still greyed out no matter how I run the IDE: as a regular user or as a root (under "sudo" or "su -" does not matter). It also does not matter whether I insert the board into a port on the motherboard or into a USB hub, and does not matter which port.
I don't think it is a USB serial device so there will never be a serial port. Try changing the Programmer: option to USBasp. I have no idea how to use the device but I am guessing it hooks up to the ISCP port, not the UART port.
avrdude works with this USBasp.
when I use Serial Monitor or Serial Plotter, it says COM1 error. How does Arduino IDE choose port COM1 when there is nowhere to specify the port? Maybe developers can explain their logic?
If yes, then why does the IDE throw error messages about COM ports, if avrdude can burn no problem?
Could be a bug in the IDE. The devs do not hangout here. Or you are using the Upload option instead of the "Upload Using Programmer" option. Perhaps you have an old IDE? I am using 1.8.5.
In Preferences, check the "Show verbose output during upload".
In Tools, set the Programmer to USBasp.
In Sketch, select the "Upload Using Programmer" option. This is the option below the "Upload" option for serial ports.
The output in the orange window shows the IDE is running avrdude specifying "-cusbasp" option. I do not have a USBasp so avrdude says it cannot find the device. The last message about the serial port is probably a bug since a serial port name is not passed to avrdude.
/home/me/ardtmp/arduino-1.8.5/hardware/tools/avr/bin/avrdude -C/home/me/ardtmp/arduino-1.8.5/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Uflash:w:/tmp/arduino_build_332787/sketch_dec20a.ino.hex:i
avrdude: Version 6.3, compiled on Jan 17 2017 at 11:00:16
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/home/me/ardtmp/arduino-1.8.5/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/home/me/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : usb
Using Programmer : usbasp
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
avrdude done. Thank you.
the selected serial port
does not exist or your board is not connected