If Linux fdisk is working on your drive, you have converted it to MBR. And MBR has a maximum of 2TB.
Fdisk should just see the protective MBR and see one large partition as the entire hard drive with a gpt entry, where gparted or gdisk will show the gpt partitions on the drive.
The main reason for the protective MBR is so fdisk and other older tools know drive is partitioned with gpt and do not corrupt it.
post this from parted & gdisk, change sda to whatever your drive is:
sudo parted -l
sudo parted /dev/sda unit s print
sudo gdisk -l /dev/sda