If you have already tried the antenna fix, the Software fix, the charging port fix, housing swap, etc...keep reading...
Over the last year, I have had many of these come across my bench and the majority 8 of 10 (Guestimate) have been the Baseband IC. Dial *#06# you should see the IMEI, IF Not, then this just may work for you.
You will also want to look for Modem Firmware version in settings to see if it is listed, if not, then I would look at U_PMICRF Baseband power management IC.
also, if imei is there,modem firmware is there, it could be one of these 3: U_ASM_RF antenna switch module ic chip, WTR1625L Transceiver chip IC U_WTR_RF, or Receiver IC U_WFR_RF WFR1620
I suggest (If you have the experience and tools) that you remove the Logic board and the shield next to Sim Tray off. (The one closest to the battery connection, not near LCD Connectors).
Then you have a few options:
1. A temp fix that does work as a bandaid fix, reflow the baseband IC somewhere near 340C to 360C
2. Remove the baseband IC and reball it, also running short jumpers on the U1 and V1 pads (Not a permanent fix but much better than the reflow)
3. Same as number 2 but run long jumpers from the U1 and V1 pads. This requires removing the Sim Tray to get to one of the destination points and pretty difficult to reuse the tray as there is alot of plastic in it. the other jumper goes to the back side of the board.
Here is a video referred to me by @refectio of Chris long doing this repair:
This has worked very well for me to fix this issue using the "Long Jumper"