Jump to content

Y510p Ultrabay Graphics card


gerald

Recommended Posts

On 6/9/2019 at 11:26 AM, manolis said:

@Swung Huang could you explain the only board it will be like previous model as geralts? i mean for the acrylic stand which will it be, the first or the second with the expansion pci cable?  because you had posted some photos on your previous post.  Also if you shipp it from China could you mark the package as gift and put low value lets say 10$? because i had issues with customs in my country, thank you. 

A2BD1EB2-BD03-4F8C-9E5F-106B391BD69E.thumb.jpeg.7cfc6b869b4dc12797fd563774f5d59c.jpeg

960E1E44-CC27-40C1-B2E1-1325194909D7.thumb.jpeg.bdbedc8b88c80b4e324fd4d8ed0d1043.jpeg

 

On 6/9/2019 at 11:34 AM, Swung Huang said:

1.The second verison is going to cost more. If you still want it, just put in your request in the first blank and I can customize that for you. It may not go into mass production for too little demand.(according to the previous reply)

2. Shipping , taxes & additional fees added by customs will not be included. For too much country to deliver, I don’t really have the effort to check the policy of every country. Sorry for that.

 

Hey @Swung Huang,

 

first: thanks alot for your effort!

second: is there any chance to get the second adapter with the cable connection? Because i would be able to put it in a case with my graphic card and it would be much easier to carry. I'm now stuck with the GDC-beast Adapter and i would love to get the full potential of my GTX 1080. Could you tell me, what will it cost or is it too time-consuming for you to build?

Thank you!

Link to comment
Share on other sites

11 hours ago, Loisl said:

 

 

Hey @Swung Huang,

 

first: thanks alot for your effort!

second: is there any chance to get the second adapter with the cable connection? Because i would be able to put it in a case with my graphic card and it would be much easier to carry. I'm now stuck with the GDC-beast Adapter and i would love to get the full potential of my GTX 1080. Could you tell me, what will it cost or is it too time-consuming for you to build?

Thank you!

No, these things are EOL for now and I don't personally invest and research in those things any longer. I will just make the current version until i have all my materials running out of stock. No more new things.

Link to comment
Share on other sites

11 hours ago, Loisl said:

 

 

Hey @Swung Huang,

 

first: thanks alot for your effort!

second: is there any chance to get the second adapter with the cable connection? Because i would be able to put it in a case with my graphic card and it would be much easier to carry. I'm now stuck with the GDC-beast Adapter and i would love to get the full potential of my GTX 1080. Could you tell me, what will it cost or is it too time-consuming for you to build?

Thank you!

Also you can actually use a PCIe riser cable to do what you want.

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

Hello Swung!

 

Excellent work! I've been following this thread for a while and I'm finally ready to buy myself.

I sent an email to the above mentioned account inquiring about ordering an extender :) Please check your junk folder!

 

Once this project is not economically viable for you, if you aren't going to make any more for profit, it would be immensely appreciated if you could release your Bill of Materials, schematic, and 3D models.

 

Thank you so much, the Haswell CPUs are still good enough for my needs but that Nvidia 750m is just not holding up for a couple of games.

 

Best.

Link to comment
Share on other sites

Hello everyone,

 

Due to the costs of obtaining a pre-made adapter being too prohibitive for me where I live, especially considering the possibility of just getting an IMB-180 motherboard which would offer cooling benefits as well as more SATA ports and (for me) COM ports, for similar or less money, I have decided to try and make my own version of this adapter based on other content that has all been posted in this thread. I will be doing it in Altium CircuitMaker so it will be an open-source project. Any electronics hobbyist should be able to put one together this way!

Now, all the pieces of the puzzle are available. The only thing to do will be to make the trace layout. But my first step will be to amalgamate all of the information here (I have downloaded each of these, so if one of these breaks in the future let me know and hopefully I'll be around to relink it):
y510p circuit diagram (not necessary but a VERY handy resource):
http://kythuatphancung.vn/uploads/download/6361a_NM-A032_r1.0_schematics.pdf

 

gerald egpu adapter v2 spec dimensions and circuit diagram (Final design must ELIMINATE R2 to make it v3 spec! IMPORTANT):

https://drive.google.com/file/d/1iH1KTgJ-kCK_Rur9w9UyxOWoveVMTtxF/view

 

SMBus fix (If this is not implemented then you need the BIOS fix from here instead: https://www.techinferno.com/index.php?/forums/topic/12014-lenovo-y410py510p-bios-mod-to-enable-nvidia-egpu-support/&;they are mutually exclusive, one OR the other, but no need for both):
https://mega.nz/file/3AB0iSoa#v24VPHjNL2NkvEdeY3ZTkrmRWhcD1du_-N-JZfgTf7M

 

Ultrabay connector part number:

2199015-1 (made by TE connectivity)

Currently available from a couple of sources. I want to be able to order one for myself so JUST IN CASE someone tries to buy up all the stock in bulk I will leave this to you to find. It's not too hard, I promise :)

 

Altium CircuitMaker Project link:
https://workspace.circuitmaker.com/Projects/Details/astrosynthesist/Lenovo-y510p-eGPU-Adapter

NOTE as of the time of this posting, that project is empty. Hopefully over the next couple weeks depending on my ability to commit time to it I hope to have that project finalized. :)

 

Next steps:
- I want to bake-in SATA support much like Swung's adapter. The Gerald board doesn't have the measurements for that part of the board so I'll have to break out the calipers or something. :)

- I personally have limited 3d printing experience, and virtually no model design experience, so once this board gets finalized, a community-sourced case would be great!

Link to comment
Share on other sites

Hi, @astrosynthesist

 

It is honestly quite bedazzling that people still keep showing interest in this old computer and hacks that we designed for it.

 

I really appreciate your determination to create an open-source version of the adapter, but still can't see what stops @gerald or @Swung Huang from sharing a proven design thus saving everyone's time.

 

To determine SATA port position you could use boardview of the laptop's PCB: https://mega.nz/file/fEZgWIwJ#8EZh7pqszrpnmLwSw3WOvV1r6truK6bIjqumGfm26xY

You will need to find a cracked version of a program called Tebo-ICT view 4.0 to view this file. On the other hand, a caliper might just do the job...

 

I think your main challenge with the PCB design will be ensuring the high-speed differential pairs for PCI-e 3.0 are calculated and routed properly. As I understand, this also requires a 4-layer PCB, and a special type of PCB material with tightly-defined dielectric permittivity, but not sure if this is a must. Anyway, there are plenty of application notes from Texas Instruments and others, as well as official PCI-e specification from Intel to have a look into.

 

You might also find my old unfinished KiCAD project useful: https://mega.nz/file/XBIizAwJ#eAMfDliC_GCHppsXWRL4BLuBNUGC3jOMBx5re_wc7KY

It has a schematic symbol and PCB footprint for the connector already designed, so in case you can consider switching to KiCAD (which is free and open-source) or find a way to convert it for Altium CircuitMaker, this might save you from having to draw it from scratch. The project had a slightly-different idea of using high-speed wires from SAS cable (silvery-blue ones) to extend the interface out of the laptop, therefore you will find a footprint of cable attach points instead of a PCI-e slot in the project.

 

Anyway, good luck with this, and if there's any questions, feel free to let me know.

 

P.S. Converting the unfinished project to PCB adapter design should be really easy, as KiCAD already has built-in schematic symbol and PCB footprint for desktop PCI-e slot connector. No, it doesn't.

Edited by High_Voltage
Link to comment
Share on other sites

Thank you for the tips!

 

Basically in my case I got this laptop at the beginning of university and found out that the battery life isn't so great and the case wasn't durable enough for lugging around in a backpack (Lenovo repair actually came through on this one, besides losing a few screws), so I did something drastic; I stuck it behind my TV and turned it into a Linux server for about 5 years (keeping the battery in my fridge) until a few weeks ago. It was my personal cloud server and I would remote into it from pretty much every device, my phone or school computer etc and it was great to learn coding and do scientific computing with. :) I eventually got a Panasonic CF-53 as my daily driver, and would use it as a virtual desktop or tty to the y510p when I had wifi/wwan access, and as a respectable standalone machine otherwise.

Consequently I didn't acquire too much software or follow the gaming community much during those 5 years so now I have a HUGE collection of games from the 1990s to early 2010s and maybe 5 games since then that I play, and really the only thing I am left wanting for is a better GPU and soon VT-d for passing the egpu through to my 32-bit Win 7 virtual machine. (I tried running Win 7 32-bit directly on the hardware but it was pathetic and only used 2GB of RAM no matter what I did in the BIOS). I've been eyeballing this adapter for years but could only afford it really since getting a job... unfortunately now the price for an adapter doesn't reflect the value of the computer or simply swapping everything out to a mini-ITX motherboard. Besides, as an electronics enthusiast I like a challenge, and since I normally work with analog circuits this project is a good way to hand-hold me into high-frequency digital circuitry. :)

TL;DR I don't think everyone else will have the same experience as myself BUT I think this computer still holds its own quite well, especially for running games with SafeDisc or SecuROM that a modern Win 10 machine couldn't do anymore. I am going the virtualization route but I can see others picking this up as a great value secondary machine for older pc games (in which case a semi-permanent egpu adapter isn't much of a problem as it's probably staying put most of the time anyways).

Just a few thoughts as to why this project still gets attention!

Link to comment
Share on other sites

@High_Voltage, would it be possible to release the source code for your hardware mod? I only see a precompiled binary. I want to implement it on the board but since it only requires 2 GPIO pins, it might make more sense to use an ATTiny 25 rather than a whole ATMega328P. I haven't played with Arduino-type hardware much so it'll be interesting to see how to effectively program a barebones microprocessor like that.

I have rebuilt the ultrabay connector footprint in Circuitmaker and have the basic schematic done for the interface board, based off of the Gerald v2 schematic plus the v3 mod. I am still going to download KiCAD eventually but so far I just haven't bothered yet.The only thing I'm missing is the SMBUS stuff because, well, as I said I don't think baking in a whole arduino makes sense. Once this is worked out I can start playing with the layout.

And for you people out there who want a cabled version, I am first going to try to replicate the Gerald board, and once that design is working I don't mind trying out an OCuLink version or integrating with the High_Voltage cabled project for fun. :) That's a ways away (but you can always fork my project!)

Link to comment
Share on other sites

3 hours ago, astrosynthesist said:

@High_Voltage, would it be possible to release the source code for your hardware mod? I only see a precompiled binary. I want to implement it on the board but since it only requires 2 GPIO pins, it might make more sense to use an ATTiny 25 rather than a whole ATMega328P. I haven't played with Arduino-type hardware much so it'll be interesting to see how to effectively program a barebones microprocessor like that.

I have rebuilt the ultrabay connector footprint in Circuitmaker and have the basic schematic done for the interface board, based off of the Gerald v2 schematic plus the v3 mod. I am still going to download KiCAD eventually but so far I just haven't bothered yet.The only thing I'm missing is the SMBUS stuff because, well, as I said I don't think baking in a whole arduino makes sense. Once this is worked out I can start playing with the layout.

And for you people out there who want a cabled version, I am first going to try to replicate the Gerald board, and once that design is working I don't mind trying out an OCuLink version or integrating with the High_Voltage cabled project for fun. :) That's a ways away (but you can always fork my project!)

For the hardware mod, actually you can use a SMBus/I2C temperature sensor from TI. But I currently don't know the exact intercompatibility info. I got some report that the chip doesn't work with their laptop. I don't know for sure which could work at this point.

Link to comment
Share on other sites

Ahahahaha, that shows my inexperience with Arduinos! I almost always double check if a random file extension is a text file but I assumed since it is a microcontroller it must be a binary. Thanks! Once I see how it works maybe I can figure out how to take advantage of Swung's handy tip so there need not be any flashing required on the final design. :)

Link to comment
Share on other sites

The program is extremely simple. If I recall correctly, it just replies to a certain read on i2c bus with some arbitrary value which was supposed to represent the temperature. You can easily get an attiny25 or even attiny10 to do this, no need for Arduino environment at all.

 

What @Swung Huang has then discovered is that you can get actual i2c temperature sensors (e.g. TMP175 from Ti) which can be configured to the right address and happen to have the right register in the right place for the PC to be able to read temperature without the need for a microcontroller at all. But it seems like he had some troubles with it not working on some PCs?

Link to comment
Share on other sites

6 hours ago, High_Voltage said:

The program is extremely simple. If I recall correctly, it just replies to a certain read on i2c bus with some arbitrary value which was supposed to represent the temperature. You can easily get an attiny25 or even attiny10 to do this, no need for Arduino environment at all.

 

What @Swung Huang has then discovered is that you can get actual i2c temperature sensors (e.g. TMP175 from Ti) which can be configured to the right address and happen to have the right register in the right place for the PC to be able to read temperature without the need for a microcontroller at all. But it seems like he had some troubles with it not working on some PCs?

 

I have configured it to do the exact same thing but to report a real temp from that  sensor. The point is I think there’s some different logic out there. It seems the logic doesn’t apply to all of the laptops. Speaking of chance, it’s about 1 out of 10 that the hardware trick doesn’t work.

Link to comment
Share on other sites

6 hours ago, High_Voltage said:

The program is extremely simple. If I recall correctly, it just replies to a certain read on i2c bus with some arbitrary value which was supposed to represent the temperature. You can easily get an attiny25 or even attiny10 to do this, no need for Arduino environment at all.

 

What @Swung Huang has then discovered is that you can get actual i2c temperature sensors (e.g. TMP175 from Ti) which can be configured to the right address and happen to have the right register in the right place for the PC to be able to read temperature without the need for a microcontroller at all. But it seems like he had some troubles with it not working on some PCs?


Maybe there’s different addresses or even mechanisms out there?...

Link to comment
Share on other sites

@Swung Huang is it not theoretically possible that for those people who report it not working, they are either on a different EC version than the one you tested, OR the temperature sensor itself got hot for some reason or another? (Maybe the temperature sensor you picked has a lower "high limit" than the one on the original board, so if it reaches a warm but not super hot temperature like 45 or 50C it triggers the EC shutdown.

I like going with a temperature sensor, because then any hobbyist who is making one of these boards can do it WITHOUT the need for a microcontroller programming interface. I was briefly hoping that the SMBus line could talk to the system fan speed controller, but alas according to the system schematic the EC handles the speed control directly. So I would expect the only way the SMBus line could affect the fan speed is if the EC is reprogrammed with a custom firmware, which is above my skill level (and would negate the need for the original SMBus hardware mod in the first place since the EC would be reflashed for this idea), though I would happily perform a bios update to trade for hard-wired buttons for fan speed control.

 

Though I have also tried to hunt down the mechanism by which the Lenovo Energy Management app talks to the EC to change the fan speed for "dust removal". I have a sneaking suspicion it's hidden in a dll and a call to rundll32 with the right command might unlock this ability once and for all without any need for weird scripts to constantly run the dust removal app.

 

Anyways, back on topic, it's good to know that even if someone wants to make this board and can't source a temperature sensor/program a microcontroller, that the cracked BIOS is still an option, so thank you for that @High_Voltage

Link to comment
Share on other sites

  • 4 weeks later...

@astrosynthesist i just wanted to say THANK YOU! Same goes to you @High_Voltage. I came across your thread after doing some research into a new laptop. I am a big fan of Lenovo and had my eye on the y510p for a project as I think it still holds a fair value. 

 

@astrosynthesist would you be able to let me know where you sourced the ultrabay connector from? I looked in a few places but I have a feeling you were lucky and called up the right salesperson at the right wholesale place as most places I've seen they sell them at a minimum quanity of a few hundred. I was thinking that maybe one could 3d print a replacement connector. Would you mind posting some good close up pictures? Might there be a different connector that isn't EOL that we could substitute for the ultrabay connector?

 

 

Link to comment
Share on other sites

@astrosynthesist I guess fan control in this laptop is something we've all dreamt of at some point. The default curve is just so incredibly bad causing throttling and system overheat even under moderate loads. You're right, in order to get control over the fan, we would need to create a custom EC firmware, which I guess isn't worth anyone's time. Or maybe, reverse-engineer existing one and append it with extra code to receive our commands via SMBUS, which is more doable but would still be very difficult due to how poorly-documented these EC chips are (I guess, all the datasheets are provided to companies under various NDAs).

 

When I was still using my Y510p, I constantly had this idea of a neat hardware mod in mind: CPU fan uses 4 pins: power, ground, PWM for speed control, and strobe to measure RPM. You could, for example, cut the fan cable and insert an ATtiny85V or other small chip in there, powering it off fan's power and ground wires, and cutting into the PWM wire so that motherboard's PWM goes into the MCU and the MCU then controls the fan with its own PWM. Then you could load a primitive program with a look-up table (LUT) for output PWM value vs input PWM value, essentially getting yourself a custom fan curve. A fun and interesting idea which I never had enough time to explore...

 

As for software side of the fan control and the dust removal routine, I remember seeing a very in-depth investigation into this on some forum a long while ago. They wanted to check whether there's a way to control the fan speed or is it just an "on-off" thing to rev it up to the maximum. It turned out to be the latter.

 

@LeapingLamb The easiest way to get the connector is to desolder it off your original Ultrabay GPU (it's not like it's useful for anything nowadays, anyway). For removing it you can try hot air or/and diluting solder in the joints with low melting point alloys like Rose's metal. Maybe, some workshop can do that for you (just make sure to let them know the part you want to keep is the connector, not the board). Also, mind sharing details on the project you're working on?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.