I have a FortiGate 60E, brand new, V6.2.3 build1066 (GA).
If I plug my laptop (Mac with Gigabit network card) into interface Internal1 - it shows 1000Mbps/full duplex on the GUI and lights up green on the display nearly instantly.
If I plug either a Cisco or Engenius unmannaged Gigabit network switch into Internal1, it takes a few seconds to "light up", but when it does, it shows up as 100Mbps/Full Duplex and amber light. I have confirmed these switches are operating on gigabit and all devices plugged into them show 1000Mbps.
If I unplug the switch and plug the same laptop into the Internal1, it then shows only 100Mbps, until such time I physically reboot the FortiGate 60E. Then it goes back to 1000Mbps.
This issue will follow any port on the FortiGate except for WAN. My laptop always shows up 1000Mbps. Plug in gigabit switch, and the port goes to 100Mbps. Then the same laptop cannot connect on that port any faster than 100Mbps until a reboot.
You can perform a diag on the interface from the CLI using diag hardware deviceinfo nic <interface>
eg. diag hardware deviceinfo nic internal1
Output should be something similar to the following...
Description Fortinet 92D Ethernet DriverSystem_Device_Name internal1Current_HWaddr 90:6c:ac:00:00:00Permanent_HWaddr 90:6c:ac:00:00:00State upLink upPHY Link upSpeed 1000Duplex fullport: 0def vid 4094cur_vid 4094netdev_running 1pci_rx 0Rx_Packets 341499 Tx_Packets 615994 Rx_Bytes 58315364 Tx_Bytes 220265980
What you are looking for is the duplex/speed value and any rx/tx errors or any errors for that matter. If there are errors, wait 2-3 mins then repeat the diag commands to see if the error counts increases. (This is assuming you have something plugged into that interface port.)
Use show system interface internal1 to see how the internal1 port is configured. (cmd will not show default values.)
Use show full system interface internal1 to display the full configuration on internal1. If duplex/speed is set, it should show up as "set speed <value>".
You can force the duplex/speed on internal1 by using:
config system interfaceedit "internal1"set speed 1000fullnextend
To set the interface to auto negotiation, use:
config system interfaceedit "internal1"unset speednextend
It's been suggested to disable/enable the interface, which you can do from the CLI:
config system interfaceedit "internal1"set status (up|down)nextend
If both sides of the connection is confirmed to be set to auto negotiation, I really find this problem odd - I suggest forcing the interface to 1000full then perform further testing - check via the diag cmds what that interface is reporting and/or disable/enable the interface and/or powercycle the switch. etc.
I just encountered this same problem, my wan1 port on our FortiWiFi 60E was uplinking to a netgear unmanaged 1G switch. Speed was 1000 full. I removed the netgear switch and now wan1 goes up to a Cisco 3500 switch, the speed is now 100 full...
I tried to force 1000 full on the wan1 interface, the system allowed it but them my interface went down;
========== Link Status ==========
netdev status :down
When I set the interface back to auto, it reconnects at 100 full.
Going to open a tac case to see if they can shed some light on this.