Interfaces

Started by Adarion, February 17, 2015, 11:31:36 AM

Previous topic - Next topic

Adarion

I guess it might fit here in "peripherals and ports"

So interfaces to the outside world. Personally I am on the standpoint that one can never have enough interfaces.
I know a lot of people might have a different opinion.

For my part I'd be happy with:
* parallel (LPT) interface (microcontroller programming, still works kind of driverless and cheap via a self soldered LPT adapter)
* serial interface (a lot of machines are still driven via RS-232)
* PS/2 kbd/mouse
(yeah, all the classics)

* VGA (beamers, lots of old beamers around)
* some newer digital interface. HDMI is wide spread but sucks. Okay, anything with digital restriction management sucks, but HDMI is soo limited. Resolution, no adapters allowed and so on. I was quite fond of DVI and DP is at least VESA specified so it can't be that bad?

* I don't know about eSATA. Never used it. And afaik there is a version that provides also power over eSATA (which would make sense) and one that doesn't.

* Maybe something for external sound sources / output. I guess it won't be a multimedia audio recording studio notebook. And people into professional sound biz better look for a box with real sound cards with awesome SNR, I/O ports and such, that most onboard chips won't provide.

* A sane amount of USB. Especially if there is no classic port you have to do everything by USB and then you need a whole lot of them. Or carry USB hubs around and see for enough power supply. And so the problems start.

* Card reader: I love compact flash. But then, it is "large" (whatsoever people call large these days) so nearly anybody ever included it in a laptop.

* Ethernet. Of course. 10/100/(1000)

Did I forget anything?

specing

> So interfaces to the outside world. Personally I am on the standpoint that one can never have enough interfaces.
yes

> parallel (LPT) interface (microcontroller programming, still works kind of driverless and cheap via a self soldered LPT adapter)
> serial interface (a lot of machines are still driven via RS-232)
> PS/2 kbd/mouse
> Card reader: I love compact flash. But then, it is "large" (whatsoever people call large these days) so nearly anybody ever included it in a laptop.

Yes, they are "obsolete", bulky and not needed by many. Plus they occupy a
lot of space that would better be used by adding more displayport/USB/whatever.

But some people may need them in full size so it should be provided. Either
in the form of a connector expension board (maybe a 30 pin connector that
exports them outside the case or with a board that mounts inside the laptop
instead of a battery pack or whatever).

None of them are natively supported by the chipset. The first three of them
could be provided via EC (LPT byte/bit banged), but for CF an IDE to SATA or
whatever bridge chip would have to be used, or it could be connected to an
FPGA with your controller code on it.

external (optoisolated) SPI/i2c/u(s)art should certainly be provided in
some form, preferably via a 100 mil header.

> VGA (beamers, lots of old beamers around)
> some newer digital interface. HDMI is wide spread but sucks. Okay, anything with digital restriction management sucks, but HDMI is soo limited. Resolution, no adapters allowed and so on. I was quite fond of DVI and DP is at least VESA specified so it can't be that bad?

VGA is a must and directly provided by the southbridge. If I recall correctly,
the APU desktop chipsets support 6 displays (with DP daisy chaining).
There are DP to HDMI/DVI converters for everything else

> I don't know about eSATA. Never used it. And afaik there is a version that provides also power over eSATA (which would make sense) and one that doesn't.

external SATA in one form or another is also a must. Preferably atleast 2 of them.
Addional cables will be needed in any case as connecting the HDD directly to
laptop PCB would be very prone to breaking connectors in a moment of carelessness.
Not sure if 2 powered SATA connectors would be better than 2 ordinary SATA and
one MOLEX 4-pin power as the cables for the later are easily obtainable commodity.

> Maybe something for external sound sources / output. I guess it won't be a multimedia audio recording studio notebook. And people into professional sound biz better look for a box with real sound cards with awesome SNR, I/O ports and such, that most onboard chips won't provide.

That is what the external PCI-express is for! Snap whatever card you want into
an enclosure and connect it to the laptop. With that you are not limited to
form factor or anything.

> A sane amount of USB. Especially if there is no classic port you have to do everything by USB and then you need a whole lot of them. Or carry USB hubs around and see for enough power supply. And so the problems start.

southbridge has 10 USB 2.0 and 4 USB 3 with blobs (have to figure out what to do here).
of those 10 a few will be used internally (one per each miniPCI-e slot, ...). There
could be an internal USB hub and a seperate USB 3.0 controller that doesen't require
blobs.

> Ethernet. Of course. 10/100/(1000)

Atleast one built-in gigabit+ ethernet. More with internal or external expansion cards.

Adarion

Thanks for the informations.

>> old, obsolete interfaces
> Either in the form of a connector expension board (maybe a 30 pin connector that
> exports them outside the case or with a board that mounts inside the laptop
> instead of a battery pack or whatever).

I wouldn't really call them obsolete. Not all USB2something works, or you get a cheap series that uses different chips from charge to charge. And I actually did machine driving and microcontroller programming (horray for blinking LEDs!) with serial and parallel.
Such an addon board would be nice. So people who have no need for classic interfaces save the space and others can plug in a card (modularity ftw!) with native serial, parallel and whatsnot.

> CF an IDE to SATA or whatever bridge chip

This is maybe not such a problem, at least from my side. I used IDE2CF in thin clients and sometimes via these cheap adapter boards that you can attach to IDE. But for just reading CF cards a normal USB solution should be fine, too. It would have been nice to have CF directly but external USB card readers (offering all sorts of flash card formats) are available between 5 and 15 Euros (7-20 USD). This is what I normally use on the big boxes where I do not directly boot from CF.
I don't know about the difference in performance, though. When I chroot to a CF card to compile Gentoo for my small x86 machines (Geode LX, Transmeta) on my "big" Athlon II x4 there seems to be a bottleneck somewhere. Still it is faster than native compiling.

> VGA is a must and directly provided by the southbridge. If I recall correctly,
> the APU desktop chipsets support 6 displays (with DP daisy chaining).

Ah, so the SB contains some ADC. Yes, I think the Radeon Feature Matrix mentioned that newer chips might not offer native analog support anymore. But if there are affordable adapter chips that should be okay.

> There are DP to HDMI/DVI converters for everything else

I wonder about that. I was recently looking for HDMI to something else adapters and it was sheer terror. Somehow it seems the HDMI consortium forbid adapters at least in one direction.


> Addional cables will be needed in any case as connecting the HDD directly to
> laptop PCB would be very prone to breaking connectors in a moment of carelessness.

Wise decision. I guess I could still solder just cables to an interface but soldering on a board when multiple pins are to be desoldered at the same time, or even SMD stuff... uh-oh. And yes, 6 months ago I broke an external card reader and the MiniUSB cracked off the PCB and maybe the PCB even got microcracks.
It will be much better to have some pin header solution and just attach a cable to the very interface that is planted in the housing (like classic 486 where you would put every interface from pinheader to a bezel in the backside of the case).

> SATA vs. Molex

"native" SATA seems more comfortable but I saw these (quite complex by the way) SATA powers break off, while Molex seems more robust. That is, unless you manage to bend or dent the inner contact cylinders.


> That is what the external PCI-express is for!

Ex-Ternal PCI(e)? Oh, the tears of joy!
That was new to be that you had this planned. But is there also some level of protection - against dust and stuff that daily confronts a laptop from the outside?


> southbridge has 10 USB 2.0 and 4 USB 3 with blobs (have to figure out what to do here).

Yes, but that is a good number. I was glad that AMD was so nice to give even the older SB7xx chipsets a plethora of USB ports. I actually needed more and more over time.

Ehm. Blobs?

> There could be an internal USB hub and a seperate USB 3.0 controller that doesen't require blobs.

Do USB 3 controllers require blobs? I wasn't aware of that. So far I thought you did not even have specific drivers for USB controllers, regardless if the came from VIA, Renesas (NEC?), AMD, nvidia, intel or somebody else.
Blobs are evil. :)


> of those 10 a few will be used internally (one per each miniPCI-e slot, ...).

I am not a professional, how comes that PCIe and USB are correlated? I mean, attaching e.g. the trackpoint or touchpad via USB sounds reasonable (though the bandwidth is probably still overkill).

specing

> This is maybe not such a problem, at least from my side. I used IDE2CF in thin clients and sometimes via these cheap adapter boards that you can attach to IDE. But for just reading CF cards a normal USB solution should be fine, too. It would have been nice to have CF directly but external USB card > readers (offering all sorts of flash card formats) are available between 5 and 15 Euros (7-20 USD). This is what I normally use on the big boxes where I > do not directly boot from CF.
> I don't know about the difference in performance, though. When I chroot to a CF card to compile Gentoo for my small x86 machines (Geode LX, Transmeta) on my "big" Athlon II x4 there seems to be a bottleneck somewhere. Still it is faster than native compiling.

Probably cached entirely due to RAM size > CF card size.

> Ah, so the SB contains some ADCDAC. Yes, I think the Radeon Feature Matrix mentioned that newer chips might not offer native analog support anymore. But if there are affordable adapter chips that should be okay.

We'll see. Might even look into providing a DVI port that can carry either DVI-data or analog VGA signals.

>> There are DP to HDMI/DVI converters for everything else
> I wonder about that. I was recently looking for HDMI to something else adapters and it was sheer terror. Somehow it seems the HDMI consortium forbid adapters at least in one direction.

HDMI is evil (HDCP)

>> That is what the external PCI-express is for!
> Ex-Ternal PCI(e)? Oh, the tears of joy!
> That was new to be that you had this planned. But is there also some level of protection - against dust and stuff that daily confronts a laptop from the outside?

To be figured out.


>> southbridge has 10 USB 2.0 and 4 USB 3 with blobs (have to figure out what to do here).
> Yes, but that is a good number. I was glad that AMD was so nice to give even the older SB7xx chipsets a plethora of USB ports. I actually needed more and more over time.

Will probably need a hub.

> Ehm. Blobs?

But of course!

>> There could be an internal USB hub and a seperate USB 3.0 controller that doesen't require blobs.
> Do USB 3 controllers require blobs? I wasn't aware of that. So far I thought you did not even have specific drivers for USB controllers, regardless if the > came from VIA, Renesas (NEC?), AMD, nvidia, intel or somebody else.
> Blobs are evil. :)

AMD FCH xHCI controller requires it. Otherwise no USB 3.0.

>> of those 10 a few will be used internally (one per each miniPCI-e slot, ...).
> I am not a professional, how comes that PCIe and USB are correlated? I mean, attaching e.g. the trackpoint or touchpad via USB sounds reasonable (though the bandwidth is probably still overkill).

http://pinoutsguide.com/Slots/mini_pcie_pinout.shtml

Adarion

> Probably cached entirely due to RAM size > CF card size.

No, RAM is 6 GB and CF cards are 8 GB and 16 GB (fully grown Gentoo systems). :)

Sadly RAM never really got cheaper. In old times I'd pay 200 "credits" for 8 MB of RAM for my 486 - and I would be happy and have enough. Today I would pay the same amount of credits to obtain much more memory - but I would also need much more memory. So situation is somehow still the same from that viewpoint. ;)


Yes, HDMI is evil, no doubt about it. Sadly a plethora of devices use it, especially a lot of screens that comes with 16:9 ratio. As long as they also have DVI or DP or VGA, well. But then, HDCP is also possible via DVI or DP, or it is a similar thing with a different name but still the same DRM crap.


> Blobs

Wow. Actually. I checked this

http://www.coreboot.org/Binary_situation

and wanted to cry. I never imagined there would be such an amount of blobs in there.
I had not yet noticed that. I mean, during kernel config I know that I have to include Radeon's UVD stuff and there is an option for CPU microcode. And in my old VIA based laptop was a softmodem that needed a blob. And Wifi besides Ath9k needs blobs. But this amount even on things that are core parts of a computer?

Why is everything today a programmable microcontroller of some sorts? I mean, okay, it does not all have to be hardwired silicon (which is less flexible), but then if you need porprietary firmware that has licensing issues, is insecure, buggy or backdooring... :(

But this also gave me new insight: So I thought AMD would do things on their own, since AMD should be capable of doing all sorts of chips. As they seemed to do in the past (iirc. they even had a few NICs of their own). But the need for a Renesas blob tells me AMD is either using a whole Renesas USB 3 silicon or at least a licensed "IP" in their SOCs or mainboard chipsets.

The question is: Can AMD give out specs? Can Renesas be asked for specs or code? Is there a generic Renesas USB 3 model that is used "everywhere", vendor-independent? So once somebody reverse engineers it we had a driver for all sorts of USB 3 controllers?
Or will we end up having multiple involved parties and nobody is really feeling responsible? Reminds me of my ITE SuperIO/EC problems or of intel's poulsbo desaster with the ImgTec chips.


And thanks for the hint on MiniPCIe. Never expected that parallel USB functionality there.

sydko

I would love these
ton of usbs :)  ;)
2x ethernet ports  ;D
card reader would be handy ::)
   line in
   mic in
   headphone
   line out
some sata-esata can also come in handy

If you are going the Compatibility route and including the PS2 mouse/kbd connectors i would like to see:
paralel port
serial port
firewire
vintage dialup connector