Foros

MP Todos los modelos Mellanox ConnectX-3 40 GbE usando el controlador ATTO FastFrame macOS

norte

nbritton

Poster original
22 de mayo de 2008
  • Mar 6, 2020
Hola,

¿Alguien más notó que ATTO FastFrame NQ41 y NQ42 son tarjetas renombradas Mellanox ConnectX-3 CX353A y CX354A? ATTO proporciona los archivos de firmware bin en su sitio web, todo lo que probablemente necesita hacer para que una tarjeta Mellanox CX3 genérica funcione es flashear su firmware con el archivo bin de ATTO. Esto es fácil con mst / flint usando el paquete de herramientas de firmware de Mellanox.

1. Descargue las herramientas de firmware de Mellanox: https://www.mellanox.com/products/adapter-software/firmware-tools
2. Descargue el firmware ATTO NQ41 / NQ42: https://www.atto.com/downloads/174/driver/29300356
3. Ejecute lo siguiente:

mst comienzo;

# NQ41 - Tarjeta de puerto único
flint --allow_psid_change -d / dev / mst / mt4099_pci_cr0 -i flsbundle_nq41_2017_09_05.bin quemar;

# NQ42 - Tarjeta de doble puerto
flint --allow_psid_change -d / dev / mst / mt4099_pci_cr0 -i flsbundle_nq42_2017_09_05.bin quemar;

4. Coloque el dispositivo en una Mac e instale los controladores macOS FastFrame de ATTO.

No he probado esto todavía, pero debería funcionar bien, cruzo las tarjetas Mellanox de la marca Dell flash todo el tiempo con el firmware Mellanox estándar. No tengo un cable QSFP que sea lo suficientemente largo para llegar a mi Mac, pero tan pronto como lo haga, mostraré uno de los míos e informaré. Las tarjetas CX3 se pueden recoger en eBay por aproximadamente $ 40, los números de pieza que debe buscar son CX353A-FCBT o CX354A-FCBT, estos admiten hasta 56 GbE. El CX353A-QCBT o CX354A-QCBT también pueden funcionar, estos admiten hasta 40 GbE. En este momento, el controlador ATTO parece funcionar solo con las tarjetas ConnectX-3 Pro CX313A y CX314A; el tipo de identificación de dispositivo admitido (es decir, el modelo de conjunto de chips) es 4103. Se presume que MCX313A-BCBT y MCX314A-BCBT no son compatibles porque su identificación de dispositivo es 4099. Última edición: 29 de marzo de 2020
Reacciones:Petri Krohn norte

nbritton

Poster original
22 de mayo de 2008
  • Mar 7, 2020
Parece que las tarjetas ATTO son id. De dispositivo 4103, que son dispositivos ConnectX-3 Pro.

Código: root@r920-cmwhv52:~# flint -i flsbundle_nq41_2017_09_05.bin q Image type: FS2 FW Version: 2.42.5000 FW Release Date: 5.9.2017 Product Version: 02.42.50.00 Device ID: 4103 Description: Node Port1 Port2 Sys image GUIDs: 0002c9000100d050 0002c9000100d051 0002c9000100d052 0002c9000100d050 MACs: 0002c9000001 0002c9000002 VSD: n/a PSID: ATT1060111023 root@r920-cmwhv52:~# flint -d /dev/mst/mt4099_pci_cr0 q Image type: FS2 FW Version: 2.42.5000 FW Release Date: 5.9.2017 Product Version: 02.42.50.00 Rom Info: type=PXE version=3.4.752 Device ID: 4099 Description: Node Port1 Port2 Sys image GUIDs: 506b4b03004cfac0 506b4b03004cfac1 506b4b03004cfac2 506b4b03004cfac3 MACs: 506b4b4cfac1 506b4b4cfac2 VSD: PSID: DEL1100001019 root@r920-cmwhv52:~# flint --allow_psid_change -d /dev/mst/mt4099_pci_cr0 -i flsbundle_nq41_2017_09_05.bin burn; Current FW version on flash: 2.42.5000 New FW version: 2.42.5000 Note: The new FW version is the same as the current FW version on flash. Do you want to continue ? (y/n) [n] : y You are about to replace current PSID on flash - 'DEL1100001019' with a different PSID - 'ATT1060111023'. Note: It is highly recommended not to change the PSID. Do you want to continue ? (y/n) [n] : y -E- Burning FS2 image failed: Device/Image mismatch: FW image file cannot be programmed to device ConnectX-3 A1, it is intended for: ConnectX-3Pro only norte

nbritton

Poster original
22 de mayo de 2008
  • Mar 7, 2020
Código: Stumbleine:Downloads root# pkgutil --expand ATTOFastFrame2_1110f1.pkg ./ATTOFastFrame2 Stumbleine:Downloads root# cd ATTOFastFrame2 Stumbleine:ATTOFastFrame2.pkg root# ls -l total 1488 -rw-r--r-- 1 root wheel 36340 Sep 12 2018 Bom -rw-r--r--@ 1 root wheel 652 Sep 12 2018 PackageInfo -rw-r--r-- 1 root wheel 715930 Sep 12 2018 Payload drwxr-xr-x 4 root wheel 128 Mar 7 09:52 Scripts Stumbleine:ATTOFastFrame2.pkg root# file * Bom: Mac OS X bill of materials (BOM) file PackageInfo: ASCII text Payload: gzip compressed data, from Unix, original size 2054144 Scripts: directory Stumbleine:ATTOFastFrame2.pkg root# mv Payload Payload.gz Stumbleine:ATTOFastFrame2.pkg root# gunzip Payload.gz Stumbleine:ATTOFastFrame2.pkg root# ls -l total 4096 -rw-r--r-- 1 root wheel 36340 Sep 12 2018 Bom -rw-r--r--@ 1 root wheel 652 Sep 12 2018 PackageInfo -rw-r--r-- 1 root wheel 2054144 Sep 12 2018 Payload drwxr-xr-x 4 root wheel 128 Mar 7 09:52 Scripts Stumbleine:ATTOFastFrame2.pkg root# file * Bom: Mac OS X bill of materials (BOM) file PackageInfo: ASCII text Payload: ASCII cpio archive (pre-SVR4 or odc) Scripts: directory Stumbleine:ATTOFastFrame2.pkg root# mv Payload Payload.cpio Stumbleine:ATTOFastFrame2.pkg root# cpio -idv norte

nbritton

Poster original
22 de mayo de 2008
  • Mar 7, 2020
Código: root@r920-cmwhv52:~# flint -i flsbundle_nq41_2017_09_05.bin dc ;; Generated automatically by iniprep tool on Tue Sep 05 14:05:13 IDT 2017 from ./cx3pro_MCX313A_40g_2.prs ;; ;; PRS FILE FOR KESTREL BENTAL ;; $Id$ [PS_INFO] Name = 4779-313A-X00_Ax Description = ConnectX-3 Pro EN network interface card; 40/56GbE; single-port QSFP; PCIe3.0 x8 8GT/s; RoHS R6 PRS_name = cx3pro_MCX313A_40g_2.prs [ADAPTER] PSID = ATT1060111023 pcie_gen2_speed_supported = true pcie_gen3_speed_supported = true adapter_dev_id = 0x1007 silicon_rev = 0x00 gpio_mode1 = 0x08000001 gpio_mode0 = 0x04c04032 gpio_default_val = 0x0f306023 gpio_pull_up = 0xff2baf2f gpio_pull_enable = 0xfbbbbfff receiver_detect_en = true vdd_change_to_1_offset = 5 nv_cfg_en = true nv_config_sectors = 2 [HCA] hca_header_subsystem_vendor_id = 0x117c hca_header_device_id = 0x1007 hca_header_subsystem_id = 0x0090 hca_header_class_code = 0x020000 eth_xfi_en = true mdio_en_port1 = 0 pcie_tx_polarity = 0x0f dpdp_en = false [IB] mlpn_en_port0 = true phy_type_port1 = XFI ext_phy_board_port1 = FALCON gen_guids_from_mac = true do_sense = false ref_clk_to_use = 0 module_power_level_supported_port0 = 5 num_of_ports = One_Port new_gpio_scheme_en = true read_cable_params_port1_en = true cx3_spec1_3_ib_support_port0 = true cx3_spec1_2_ib_support_port0 = true spec1_3_fdr14_ib_support_port0 = true spec1_3_fdr10_ib_support_port0 = true mellanox_ddr_ib_support = true mellanox_qdr_ib_support = true port1_802_3ap_cr4_enable = true port1_802_3ap_cr4_ability = true port1_802_3ap_56kr4_ability = true center_mix90phase = true ;;Logic lane to Serdes mapping tx_logic_0_serdes = 0 tx_logic_1_serdes = 1 tx_logic_2_serdes = 2 tx_logic_3_serdes = 3 rx_logic_0_serdes = 3 rx_logic_1_serdes = 2 rx_logic_2_serdes = 1 rx_logic_3_serdes = 0 eth_tx_lane_polarity_port1 = 0xf eth_rx_lane_polarity_port1 = 0x0 tx_lane_polarity_port1 = 0xf ; start of '#include 'include_QSFP_serdes_prams_bental.h'' ;;Serdes parameters port0_nego_fdr_mask_en = 0xfffc port1_nego_fdr_mask_en = 0xfffc port0_nego_fdr10_mask_en = 0xfffc port1_nego_fdr10_mask_en = 0xfffc nego_rx4_slicer_ind_en = 255 nego_rx4_slicer1_enable = 8 nego_rx4_slicer2_enable = 8 nego_rx4_ffe_tap0 = 94 nego_rx4_ffe_tap1 = 134 nego_rx4_ffe_tap2 = 245 nego_rx4_ffe_tap3 = 135 nego_rx4_ffe_tap4 = 171 nego_rx9_ffe_tap0=84 nego_rx9_ffe_tap1=164 nego_rx9_ffe_tap2=251 nego_rx9_ffe_tap3=132 nego_rx9_ffe_tap4=140 nego_rx15_ffe_tap3 = 140 nego_rx15_ffe_tap1 = 140 nego_rx10_ffe_tap3 = 140 nego_rx10_ffe_tap1 = 140 nego_rx8_ffe_tap3 = 140 nego_rx8_ffe_tap1 = 140 force_rx0_slicer_ind_en = 0x0 force_rx0_slicer1_enable = 0x0 force_rx0_slicer2_enable = 0x0 force_rx0_ffe_tap0 = 0xff force_rx0_ffe_tap1 = 0x80 force_rx0_ffe_tap2 = 0x80 force_rx0_ffe_tap3 = 0x80 force_rx0_ffe_tap4 = 0x80 force_tx0_ob_preemp_pre = 0x40 force_tx0_ob_preemp_post = 0x0 force_tx0_ob_preemp_main = 0x7f force_tx0_preemp = 0x0 force_tx0_pre_polarity = 0x1 force_tx0_post_polarity = 0x1 force_tx0_main_polarity = 0x0 force_rx2_slicer_ind_en = 0xeb force_rx2_slicer1_enable = 0x0 force_rx2_slicer2_enable = 0x0 force_rx2_ffe_tap0 = 0x64 force_rx2_ffe_tap1 = 0x80 force_rx2_ffe_tap2 = 0xde force_rx2_ffe_tap3 = 0x80 force_rx2_ffe_tap4 = 0x46 force_tx2_ob_preemp_pre = 0x30 force_tx2_ob_preemp_post = 0x0 force_tx2_ob_preemp_main = 0x7f force_tx2_preemp = 0x0 force_tx2_pre_polarity = 0x1 force_tx2_post_polarity = 0x1 force_tx2_main_polarity = 0x0 force_rx3_slicer_ind_en = 0xff force_rx3_slicer1_enable = 0x8 force_rx3_slicer2_enable = 0x8 force_rx3_ffe_tap0 = 0x6c force_rx3_ffe_tap1 = 0x80 force_rx3_ffe_tap2 = 0xff force_rx3_ffe_tap3 = 0x80 force_rx3_ffe_tap4 = 0x80 force_tx3_ob_preemp_pre = 0xc force_tx3_ob_preemp_post = 0x7f force_tx3_ob_preemp_main = 0x45 force_tx3_preemp = 0x0 force_tx3_pre_polarity = 0x1 force_tx3_post_polarity = 0x0 force_tx3_main_polarity = 0x1 force_tx3_ob_bias = 0xa auto_ddr_tx_options = 2 auto_ddr_rx_options = 1 auto_qdr_tx_options = 6 auto_qdr_rx_options = 7 preset_tx_fdr_set12_ob_preemp_pre = 17 preset_tx_fdr_set12_ob_preemp_post = 0 preset_tx_fdr_set12_ob_preemp_main=25 preset_tx_fdr_set12_preemp = 0 preset_tx_fdr_set12_pre_polarity = 1 preset_tx_fdr_set12_post_polarity = 1 preset_tx_fdr_set12_main_polarity = 0 preset_tx_fdr_set12_ob_bias = 5 preset_tx_fdr_set13_ob_preemp_main =40 preset_tx_fdr_set13_ob_preemp_pre = 28 preset_tx_fdr_set13_ob_preemp_post = 0 preset_tx_fdr_set13_preemp = 0 preset_tx_fdr_set13_pre_polarity = 1 preset_tx_fdr_set13_post_polarity = 1 preset_tx_fdr_set13_main_polarity = 0 preset_tx_fdr_set13_ob_bias = 5 preset_tx_fdr_set14_ob_preemp_main = 35 preset_tx_fdr_set14_ob_preemp_pre = 25 preset_tx_fdr_set14_ob_preemp_post = 0 preset_tx_fdr_set14_preemp = 0 preset_tx_fdr_set14_pre_polarity = 1 preset_tx_fdr_set14_post_polarity = 1 preset_tx_fdr_set14_main_polarity = 0 preset_tx_fdr_set14_ob_bias = 5 preset_tx_fdr_set15_ob_preemp_main = 30 preset_tx_fdr_set15_ob_preemp_pre = 20 preset_tx_fdr_set15_ob_preemp_post = 0 preset_tx_fdr_set15_preemp = 0 preset_tx_fdr_set15_pre_polarity = 1 preset_tx_fdr_set15_post_polarity = 1 preset_tx_fdr_set15_main_polarity = 0 preset_tx_fdr_set15_ob_bias = 5 preset_tx_mask = 0xfffe aba_mask0_start = 0 aba_mask0_end = 3 aba_mask0 = 0x1000 aba_mask1_start = 4 aba_mask1_end = 5 aba_mask1 = 0x8000 aba_mask2_start = 6 aba_mask2_end = 10 aba_mask2 = 0x4000 aba_mask3_start = 11 aba_mask3_end = 16 aba_mask3 = 0x2000 ; ABA 40GE aba_tx2_ob_preemp_pre = 20 aba_tx2_ob_preemp_main = 42 aba_tx2_ob_preemp_post = 8 aba_tx2_ob_bias = 8 aba_tx2_pre_polarity = 1 aba_tx2_post_polarity = 1 aba_tx2_main_polarity = 0 ;;3m aba_tx3_ob_preemp_pre = 22 aba_tx3_ob_preemp_main = 42 aba_tx3_ob_preemp_post = 5 aba_tx3_ob_bias = 8 aba_tx3_pre_polarity = 1 aba_tx3_post_polarity = 1 aba_tx3_main_polarity = 0 aba_tx4_ob_preemp_pre = 26 aba_tx4_ob_preemp_main = 42 aba_tx4_ob_preemp_post = 3 aba_tx4_ob_bias = 8 aba_tx4_pre_polarity = 1 aba_tx4_post_polarity = 1 aba_tx4_main_polarity = 0 aba_tx5_ob_preemp_pre = 60 aba_tx5_ob_preemp_main = 90 aba_tx5_ob_preemp_post = 8 aba_tx5_ob_bias = 8 aba_tx5_pre_polarity = 1 aba_tx5_post_polarity = 1 aba_tx5_main_polarity = 0 aba_tx6_ob_preemp_pre = 80 aba_tx6_ob_preemp_main = 110 aba_tx6_ob_preemp_post = 10 aba_tx6_ob_bias = 8 aba_tx6_pre_polarity = 1 aba_tx6_post_polarity = 1 aba_tx6_main_polarity = 0 aba_tx7_ob_preemp_pre = 75 aba_tx7_ob_preemp_main = 110 aba_tx7_ob_preemp_post = 15 aba_tx7_ob_bias = 8 aba_tx7_pre_polarity = 1 aba_tx7_post_polarity = 1 aba_tx7_main_polarity = 0 aba_fdr_tx16_ob_preemp_pre = 17 aba_fdr_tx16_ob_preemp_post = 0 aba_fdr_tx16_ob_preemp_main=25 aba_fdr_tx16_preemp = 0 aba_fdr_tx16_pre_polarity = 1 aba_fdr_tx16_post_polarity = 1 aba_fdr_tx16_main_polarity = 0 aba_fdr_tx16_ob_bias = 5 aba_fdr_tx17_ob_preemp_main =46 aba_fdr_tx17_ob_preemp_pre = 32 aba_fdr_tx17_ob_preemp_post = 0 aba_fdr_tx17_preemp = 0 aba_fdr_tx17_pre_polarity = 1 aba_fdr_tx17_post_polarity = 1 aba_fdr_tx17_main_polarity = 0 aba_fdr_tx17_ob_bias = 3 aba_fdr_tx18_ob_preemp_main = 50 aba_fdr_tx18_ob_preemp_pre = 32 aba_fdr_tx18_ob_preemp_post = 0 aba_fdr_tx18_preemp = 0 aba_fdr_tx18_pre_polarity = 1 aba_fdr_tx18_post_polarity = 1 aba_fdr_tx18_main_polarity = 0 aba_fdr_tx18_ob_bias = 3 aba_fdr_tx19_ob_preemp_main = 60 aba_fdr_tx19_ob_preemp_pre = 30 aba_fdr_tx19_ob_preemp_post = 0 aba_fdr_tx19_preemp = 0 aba_fdr_tx19_pre_polarity = 1 aba_fdr_tx19_post_polarity = 1 aba_fdr_tx19_main_polarity = 0 aba_fdr_tx19_ob_bias = 3 aba_index0_start = 0 aba_index0_end = 3 aba_index0 = 0 aba_index1_start = 4 aba_index1_end = 5 aba_index1 = 3 aba_index2_start = 6 aba_index2_end = 9 aba_index2 = 2 aba_index3_start = 10 aba_index3_end = 16 aba_index3 = 1 aba_rx2_slicer_ind_en = 0xeb aba_rx2_slicer1_enable = 0x0 aba_rx2_slicer2_enable = 0x0 aba_rx2_ffe_tap0 = 0x80 aba_rx2_ffe_tap1 = 0x68 aba_rx2_ffe_tap2 = 0xd7 aba_rx2_ffe_tap3 = 0x80 aba_rx2_ffe_tap4 = 0x5a ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; SFP+ section. all QSFP can be converted to SFP+ using QSA adapter.; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ETH connected to third party device aba_non_mlpn_tx8_ob_preemp_pre = 5 aba_non_mlpn_tx8_ob_preemp_post = 0 aba_non_mlpn_tx8_ob_preemp_main = 65 aba_non_mlpn_tx8_ob_bias = 8 aba_non_mlpn_tx8_pre_polarity = 1 aba_non_mlpn_tx8_post_polarity = 1 aba_non_mlpn_tx8_main_polarity = 0 aba_non_mlpn_tx8_preemp = 0 nego_eth_rx12_slicer_ind_en = 0xff nego_eth_rx12_slicer1_enable= 0x8 nego_eth_rx12_slicer2_enable= 0x8 nego_eth_rx12_ffe_tap0=241 nego_eth_rx12_ffe_tap1=128 nego_eth_rx12_ffe_tap2=61 nego_eth_rx12_ffe_tap3=99 nego_eth_rx12_ffe_tap4=128 ; end of '#include 'include_QSFP_serdes_prams_bental.h'' [PLL] lbist_en = 0 lbist_shift_freq = 3 flash_div = 0x3 lbist_array_bypass = 1 lbist_pat_cnt_lsb = 0x2 core_f = 60 core_r = 14 core_od = 2 en_427_mhz = true [FW] flash_has_suspend_resume = 0 log_flashdev_size = 21 log_flash_sector_size = 2
Código: root@r920-cmwhv52:~# flint -i flsbundle_nq42_2017_09_05.bin dc ;; Generated automatically by iniprep tool on Tue Sep 05 14:05:13 IDT 2017 from ./cx3pro_MCX314A_40g.prs ; ;; PRS FILE FOR FALCON BENTAL 40G ;; $Id$ [PS_INFO] Name = 4779-314A-X00_Ax Description = ConnectX-3 Pro EN network interface card; 40/56GbE; dual-port QSFP; PCIe3.0 x8 8GT/s; RoHS R6 PRS_name = cx3pro_MCX314A_40g.prs [ADAPTER] PSID = ATT1090111023 pcie_gen2_speed_supported = true pcie_gen3_speed_supported = true adapter_dev_id = 0x1007 silicon_rev = 0x00 gpio_mode1 = 0x08000001 gpio_mode0 = 0x04d042fe gpio_default_val = 0x0f287f9f gpio_pull_up = 0xff2baf9f gpio_pull_enable = 0xfbabbfef receiver_detect_en = true vdd_change_to_1_offset = 7 nv_cfg_en = true [HCA] hca_header_subsystem_vendor_id = 0x117c hca_header_device_id = 0x1007 hca_header_subsystem_id = 0x0091 hca_header_class_code = 0x020000 eth_xfi_en = true mdio_en_port1 = 0 pcie_tx_polarity = 0x00 dpdp_en = false cmpl_timeout_default_value_en = 1 [IB] mlpn_en_port0 = true mlpn_en_port1 = true phy_type_port1 = XFI phy_type_port2 = XFI module_power_level_supported_port0 = 5 module_power_level_supported_port1 = 5 ext_phy_board_port1 = FALCON ext_phy_board_port2 = FALCON gen_guids_from_mac = true do_sense = false ref_clk_to_use = 0 new_gpio_scheme_en = true read_cable_params_port1_en = true read_cable_params_port2_en = true cx3_spec1_3_ib_support_port0 = true cx3_spec1_3_ib_support_port1 = true cx3_spec1_2_ib_support_port0 = true cx3_spec1_2_ib_support_port1 = true spec1_3_fdr14_ib_support_port0 = true spec1_3_fdr14_ib_support_port1 = true spec1_3_fdr10_ib_support_port0 = true spec1_3_fdr10_ib_support_port1 = true mellanox_ddr_ib_support = true mellanox_qdr_ib_support = true port1_802_3ap_cr4_enable = true port2_802_3ap_cr4_enable = true port1_802_3ap_cr4_ability = true port2_802_3ap_cr4_ability = true port1_802_3ap_56kr4_ability = true port2_802_3ap_56kr4_ability = true center_mix90phase = true ;;Logic lane to Serdes mapping tx_logic_0_serdes = 0 tx_logic_1_serdes = 1 tx_logic_2_serdes = 2 tx_logic_3_serdes = 3 rx_logic_0_serdes = 3 rx_logic_1_serdes = 2 rx_logic_2_serdes = 1 rx_logic_3_serdes = 0 tx_logic_4_serdes = 4 tx_logic_5_serdes = 5 tx_logic_6_serdes = 6 tx_logic_7_serdes = 7 rx_logic_4_serdes = 7 rx_logic_5_serdes = 6 rx_logic_6_serdes = 5 rx_logic_7_serdes = 4 eth_tx_lane_polarity_port1 = 0xf eth_tx_lane_polarity_port2 = 0xf eth_rx_lane_polarity_port1 = 0x0 eth_rx_lane_polarity_port2 = 0xf tx_lane_polarity_port1 = 0xf tx_lane_polarity_port2 = 0xf ; start of '#include 'include_QSFP_serdes_prams_bental.h'' ;;Serdes parameters port0_nego_fdr_mask_en = 0xfffc port1_nego_fdr_mask_en = 0xfffc port0_nego_fdr10_mask_en = 0xfffc port1_nego_fdr10_mask_en = 0xfffc nego_rx4_slicer_ind_en = 255 nego_rx4_slicer1_enable = 8 nego_rx4_slicer2_enable = 8 nego_rx4_ffe_tap0 = 94 nego_rx4_ffe_tap1 = 134 nego_rx4_ffe_tap2 = 245 nego_rx4_ffe_tap3 = 135 nego_rx4_ffe_tap4 = 171 nego_rx9_ffe_tap0=84 nego_rx9_ffe_tap1=164 nego_rx9_ffe_tap2=251 nego_rx9_ffe_tap3=132 nego_rx9_ffe_tap4=140 nego_rx15_ffe_tap3 = 140 nego_rx15_ffe_tap1 = 140 nego_rx10_ffe_tap3 = 140 nego_rx10_ffe_tap1 = 140 nego_rx8_ffe_tap3 = 140 nego_rx8_ffe_tap1 = 140 force_rx0_slicer_ind_en = 0x0 force_rx0_slicer1_enable = 0x0 force_rx0_slicer2_enable = 0x0 force_rx0_ffe_tap0 = 0xff force_rx0_ffe_tap1 = 0x80 force_rx0_ffe_tap2 = 0x80 force_rx0_ffe_tap3 = 0x80 force_rx0_ffe_tap4 = 0x80 force_tx0_ob_preemp_pre = 0x40 force_tx0_ob_preemp_post = 0x0 force_tx0_ob_preemp_main = 0x7f force_tx0_preemp = 0x0 force_tx0_pre_polarity = 0x1 force_tx0_post_polarity = 0x1 force_tx0_main_polarity = 0x0 force_rx2_slicer_ind_en = 0xeb force_rx2_slicer1_enable = 0x0 force_rx2_slicer2_enable = 0x0 force_rx2_ffe_tap0 = 0x64 force_rx2_ffe_tap1 = 0x80 force_rx2_ffe_tap2 = 0xde force_rx2_ffe_tap3 = 0x80 force_rx2_ffe_tap4 = 0x46 force_tx2_ob_preemp_pre = 0x30 force_tx2_ob_preemp_post = 0x0 force_tx2_ob_preemp_main = 0x7f force_tx2_preemp = 0x0 force_tx2_pre_polarity = 0x1 force_tx2_post_polarity = 0x1 force_tx2_main_polarity = 0x0 force_rx3_slicer_ind_en = 0xff force_rx3_slicer1_enable = 0x8 force_rx3_slicer2_enable = 0x8 force_rx3_ffe_tap0 = 0x6c force_rx3_ffe_tap1 = 0x80 force_rx3_ffe_tap2 = 0xff force_rx3_ffe_tap3 = 0x80 force_rx3_ffe_tap4 = 0x80 force_tx3_ob_preemp_pre = 0xc force_tx3_ob_preemp_post = 0x7f force_tx3_ob_preemp_main = 0x45 force_tx3_preemp = 0x0 force_tx3_pre_polarity = 0x1 force_tx3_post_polarity = 0x0 force_tx3_main_polarity = 0x1 force_tx3_ob_bias = 0xa auto_ddr_tx_options = 2 auto_ddr_rx_options = 1 auto_qdr_tx_options = 6 auto_qdr_rx_options = 7 preset_tx_fdr_set12_ob_preemp_pre = 17 preset_tx_fdr_set12_ob_preemp_post = 0 preset_tx_fdr_set12_ob_preemp_main=25 preset_tx_fdr_set12_preemp = 0 preset_tx_fdr_set12_pre_polarity = 1 preset_tx_fdr_set12_post_polarity = 1 preset_tx_fdr_set12_main_polarity = 0 preset_tx_fdr_set12_ob_bias = 5 preset_tx_fdr_set13_ob_preemp_main =40 preset_tx_fdr_set13_ob_preemp_pre = 28 preset_tx_fdr_set13_ob_preemp_post = 0 preset_tx_fdr_set13_preemp = 0 preset_tx_fdr_set13_pre_polarity = 1 preset_tx_fdr_set13_post_polarity = 1 preset_tx_fdr_set13_main_polarity = 0 preset_tx_fdr_set13_ob_bias = 5 preset_tx_fdr_set14_ob_preemp_main = 35 preset_tx_fdr_set14_ob_preemp_pre = 25 preset_tx_fdr_set14_ob_preemp_post = 0 preset_tx_fdr_set14_preemp = 0 preset_tx_fdr_set14_pre_polarity = 1 preset_tx_fdr_set14_post_polarity = 1 preset_tx_fdr_set14_main_polarity = 0 preset_tx_fdr_set14_ob_bias = 5 preset_tx_fdr_set15_ob_preemp_main = 30 preset_tx_fdr_set15_ob_preemp_pre = 20 preset_tx_fdr_set15_ob_preemp_post = 0 preset_tx_fdr_set15_preemp = 0 preset_tx_fdr_set15_pre_polarity = 1 preset_tx_fdr_set15_post_polarity = 1 preset_tx_fdr_set15_main_polarity = 0 preset_tx_fdr_set15_ob_bias = 5 preset_tx_mask = 0xfffe aba_mask0_start = 0 aba_mask0_end = 3 aba_mask0 = 0x1000 aba_mask1_start = 4 aba_mask1_end = 5 aba_mask1 = 0x8000 aba_mask2_start = 6 aba_mask2_end = 10 aba_mask2 = 0x4000 aba_mask3_start = 11 aba_mask3_end = 16 aba_mask3 = 0x2000 ; ABA 40GE aba_tx2_ob_preemp_pre = 20 aba_tx2_ob_preemp_main = 42 aba_tx2_ob_preemp_post = 8 aba_tx2_ob_bias = 8 aba_tx2_pre_polarity = 1 aba_tx2_post_polarity = 1 aba_tx2_main_polarity = 0 ;;3m aba_tx3_ob_preemp_pre = 22 aba_tx3_ob_preemp_main = 42 aba_tx3_ob_preemp_post = 5 aba_tx3_ob_bias = 8 aba_tx3_pre_polarity = 1 aba_tx3_post_polarity = 1 aba_tx3_main_polarity = 0 aba_tx4_ob_preemp_pre = 26 aba_tx4_ob_preemp_main = 42 aba_tx4_ob_preemp_post = 3 aba_tx4_ob_bias = 8 aba_tx4_pre_polarity = 1 aba_tx4_post_polarity = 1 aba_tx4_main_polarity = 0 aba_tx5_ob_preemp_pre = 60 aba_tx5_ob_preemp_main = 90 aba_tx5_ob_preemp_post = 8 aba_tx5_ob_bias = 8 aba_tx5_pre_polarity = 1 aba_tx5_post_polarity = 1 aba_tx5_main_polarity = 0 aba_tx6_ob_preemp_pre = 80 aba_tx6_ob_preemp_main = 110 aba_tx6_ob_preemp_post = 10 aba_tx6_ob_bias = 8 aba_tx6_pre_polarity = 1 aba_tx6_post_polarity = 1 aba_tx6_main_polarity = 0 aba_tx7_ob_preemp_pre = 75 aba_tx7_ob_preemp_main = 110 aba_tx7_ob_preemp_post = 15 aba_tx7_ob_bias = 8 aba_tx7_pre_polarity = 1 aba_tx7_post_polarity = 1 aba_tx7_main_polarity = 0 aba_fdr_tx16_ob_preemp_pre = 17 aba_fdr_tx16_ob_preemp_post = 0 aba_fdr_tx16_ob_preemp_main=25 aba_fdr_tx16_preemp = 0 aba_fdr_tx16_pre_polarity = 1 aba_fdr_tx16_post_polarity = 1 aba_fdr_tx16_main_polarity = 0 aba_fdr_tx16_ob_bias = 5 aba_fdr_tx17_ob_preemp_main =46 aba_fdr_tx17_ob_preemp_pre = 32 aba_fdr_tx17_ob_preemp_post = 0 aba_fdr_tx17_preemp = 0 aba_fdr_tx17_pre_polarity = 1 aba_fdr_tx17_post_polarity = 1 aba_fdr_tx17_main_polarity = 0 aba_fdr_tx17_ob_bias = 3 aba_fdr_tx18_ob_preemp_main = 50 aba_fdr_tx18_ob_preemp_pre = 32 aba_fdr_tx18_ob_preemp_post = 0 aba_fdr_tx18_preemp = 0 aba_fdr_tx18_pre_polarity = 1 aba_fdr_tx18_post_polarity = 1 aba_fdr_tx18_main_polarity = 0 aba_fdr_tx18_ob_bias = 3 aba_fdr_tx19_ob_preemp_main = 60 aba_fdr_tx19_ob_preemp_pre = 30 aba_fdr_tx19_ob_preemp_post = 0 aba_fdr_tx19_preemp = 0 aba_fdr_tx19_pre_polarity = 1 aba_fdr_tx19_post_polarity = 1 aba_fdr_tx19_main_polarity = 0 aba_fdr_tx19_ob_bias = 3 aba_index0_start = 0 aba_index0_end = 3 aba_index0 = 0 aba_index1_start = 4 aba_index1_end = 5 aba_index1 = 3 aba_index2_start = 6 aba_index2_end = 9 aba_index2 = 2 aba_index3_start = 10 aba_index3_end = 16 aba_index3 = 1 aba_rx2_slicer_ind_en = 0xeb aba_rx2_slicer1_enable = 0x0 aba_rx2_slicer2_enable = 0x0 aba_rx2_ffe_tap0 = 0x80 aba_rx2_ffe_tap1 = 0x68 aba_rx2_ffe_tap2 = 0xd7 aba_rx2_ffe_tap3 = 0x80 aba_rx2_ffe_tap4 = 0x5a ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; SFP+ section. all QSFP can be converted to SFP+ using QSA adapter.; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ETH connected to third party device aba_non_mlpn_tx8_ob_preemp_pre = 5 aba_non_mlpn_tx8_ob_preemp_post = 0 aba_non_mlpn_tx8_ob_preemp_main = 65 aba_non_mlpn_tx8_ob_bias = 8 aba_non_mlpn_tx8_pre_polarity = 1 aba_non_mlpn_tx8_post_polarity = 1 aba_non_mlpn_tx8_main_polarity = 0 aba_non_mlpn_tx8_preemp = 0 nego_eth_rx12_slicer_ind_en = 0xff nego_eth_rx12_slicer1_enable= 0x8 nego_eth_rx12_slicer2_enable= 0x8 nego_eth_rx12_ffe_tap0=241 nego_eth_rx12_ffe_tap1=128 nego_eth_rx12_ffe_tap2=61 nego_eth_rx12_ffe_tap3=99 nego_eth_rx12_ffe_tap4=128 ; end of '#include 'include_QSFP_serdes_prams_bental.h'' [PLL] lbist_en = 0 lbist_shift_freq = 3 flash_div = 0x3 lbist_array_bypass = 1 lbist_pat_cnt_lsb = 0x2 core_f = 60 core_r = 14 core_od = 2 en_427_mhz = true [FW] flash_has_suspend_resume = 0 log_flashdev_size = 21 log_flash_sector_size = 6 norte

nbritton

Poster original
22 de mayo de 2008
  • Mar 7, 2020
Lo hice funcionar con el ConnectX-3 MCX353A-FCBT normal, todo lo que hice fue generar una nueva imagen de firmware usando la sección [HCA] del archivo INI anterior y también cambié el PSID. Mi dispositivo es de un solo puerto, por lo que todo lo que aparece a continuación se relaciona con el ATTO FastFrame NQ41 de un solo puerto, los pasos para el puerto dual podrían ser ligeramente diferentes.

Estos son los comandos / pasos que hice:

# Realice una copia de seguridad del firmware actual en la tarjeta Mellanox y el archivo INI:
flint -d / dev / mst / mt4099_pci_cr0 ri DEL1100001019.bin;
flint -d / dev / mst / mt4099_pci_cr0 dc> DEL1100001019.ini;

# Cree un nuevo archivo INI usando el archivo INI del paso anterior como base:
cp -a DEL1100001019.ini ATT1060111023.ini;

# Cambie la sección [HCA] y cambie el PSID en la sección [ADAPTADOR] con lo siguiente:
vim ATT1060111023.ini

[ADAPTADOR]
PSID = ATT1090111023 Haga clic para ampliar...

[HCA]
hca_header_subsystem_vendor_id = 0x117c
hca_header_device_id = 0x1007
hca_header_subsystem_id = 0x0091
hca_header_class_code = 0x020000
eth_xfi_en = true
mdio_en_port1 = 0
pcie_tx_polarity = 0x00
dpdp_en = false
cmpl_timeout_default_value_en = 1 Haga clic para ampliar...

# Descargue el kit de desarrollo de firmware de Mellanox, necesita el archivo fw-ConnectX3-rel.mlx.
# No puedo encontrar la versión 2.42.5000 de 'fw-ConnectX3-rel.mlx', si tiene una copia, envíela a mi manera, por favor.
wget http://content.mellanox.com/firmware/ConnectX3-rel-2_40_5030.tgz;
tar -axf ConnectX3-rel-2_40_5030.tgz;

# Descargue el paquete de herramientas de firmware de Mellanox e instálelo, y también instale el paquete adicional mft-oem, mft-oem contiene las herramientas necesarias para crear nuevas imágenes de firmware.
wget http://content.mellanox.com/MFT/mft-4.14.0-105-x86_64-deb.tgz;
del eje mft-4.14.0-105-x86_64-deb.tgz;
cd mft-4.14.0-105-x86_64-deb;
./install.sh;
dpkg -I ./DEBS/mft-oem_4.14.0-105_amd64.deb;

# Cree una nueva imagen de firmware usando los archivos fw-ConnectX3-rel.mlx y ATT1060111023.ini, el archivo de salida es fw-ConnectX3-rel-2_40_5030-ATT1060111023.bin:
mlxburn -wrimage fw-ConnectX3-rel-2_40_5030-ATT1060111023.bin -fw fw-ConnectX3-rel.mlx -conf ATT1060111023.ini;

# Inicie los servicios mst si aún no lo ha hecho:
mst comienzo;

# Flash nueva imagen de firmware en la tarjeta Mellanox:
flint --allow_psid_change -d / dev / mst / mt4099_pci_cr0 -i fw-ConnectX3-rel-2_40_5030-ATT1060111023.bin quemar;

# Reinicie para que surta efecto la nueva imagen de firmware:
reiniciar;

Después de reiniciar el host de Linux, el subsistema ahora se identifica como ATTO, vfio-pci está adjunto porque estoy ejecutando macOS Mojave dentro de una máquina virtual KVM en un sistema Ubuntu 20.04, así que estoy haciendo un paso de dispositivo PCIe de la tarjeta Mellanox al VM ... esto podría ser la causa de por qué no funciona bien ... Todavía necesito un cable QSFP de 10 metros para llegar hasta mi Mac Pro 2012.

Código: root@r920-cmwhv52:~/Mellanox# lspci -vs 41:00 41:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro] Subsystem: ATTO Technology, Inc. FastFrame NQ41 Flags: bus master, fast devsel, latency 0, IRQ 139, NUMA node 2 Memory at d3d00000 (64-bit, non-prefetchable) [disabled] [size=1M] Memory at d3000000 (64-bit, prefetchable) [disabled] [size=8M] Expansion ROM at d3e00000 [disabled] [size=1M] Capabilities: [40] Power Management version 3 Capabilities: [48] Vital Product Data Capabilities: [9c] MSI-X: Enable- Count=128 Masked- Capabilities: [60] Express Endpoint, MSI 00 Capabilities: [c0] Vendor Specific Information: Len=18 Capabilities: [100] Alternative Routing-ID Interpretation (ARI) Capabilities: [148] Device Serial Number 50-6b-4b-03-00-4c-fa-c0 Capabilities: [154] Advanced Error Reporting Capabilities: [18c] Secondary PCI Express Kernel driver in use: vfio-pci
Desde dentro de macOS Mojave VM obtengo lo siguiente:

Código: Stumbleine:FastFrame2 root# ./atinfo -c 1 -i all ###################################################################### Channel 1: ATTO FastFrame NQ41 ###################################################################### Node Address: Permanent MAC Address: 00:00:00:00:00:00 Current MAC Address: 00:00:00:00:00:00 PCI Vendor ID: 15B3 PCI Device ID: 1007 PCI Subsystem Vendor ID: 117C PCI Subsystem Device ID: 0090 PCI Location: 1.0.0 PCI Class Code: 020000 PCI Revision ID: 0 Current PCI Link Width: x8 Maximum PCI Link Width: x8 Current PCI Link Speed: 8 GT/s (Gen3) Maximum PCI Link Speed: 8 GT/s (Gen3) Interrupt Mode: Legacy Driver Name: ATTOFastFrame2.kext Driver Version: 1.11.0f1 Firmware Version: 2.40.5030 Controller State: Degraded Última edición: 7 de marzo de 2020 norte

nbritton

Poster original
22 de mayo de 2008
  • Mar 7, 2020
Encontré un adaptador Mellanox QSFP a SFP +, así que pude probar esto en mi Mac Pro 2012, desafortunadamente no funcionó ... pero se siente muy cerca de funcionar ... Estoy dispuesto a apostar si tuviera uno genuino ConnectX-3 Pro (solo tengo CX3 normal en este momento, no la versión Pro) funcionaría. En la captura de pantalla a continuación, parece que la tarjeta perdió sus direcciones MAC. Verifiqué con pedernal y todavía está allí, pero al investigar más de cerca, parece que el controlador ATTO no puede acceder a la región NVRAM de la tarjeta CX3 normal no profesional. Voy a detenerme aquí hasta que pueda conseguir un CX3 Pro real.

Ver elemento multimedia 'data-single-image =' 1 '>
Ver elemento multimedia 'data-single-image =' 1 '>

Ver elemento multimedia 'data-single-image =' 1 '>

Ver elemento multimedia 'data-single-image =' 1 '>
Reacciones:hwojtek S

Simonjii

20 abr 2020
  • 20 abr 2020
Hola. Esto es sumamente interesante. ¿Qué tan seguro está de que funcionará con ConnectX-3 Pro? Estoy a punto de conseguir uno en Ebay para probarlo con nuestra MacPro 2013 (en una caja PCI TB externa) y nuestro servidor.
¿Crees que esas especificaciones deberían ser buenas? No de modelo: CX314A, P / N: MCX314A-BCCT, versión Pro, CONNECTX-3Pro EN 40 Gigabit Ethernet Adapter PCI-E 2-Port MELLANOX. norte

nbritton

Poster original
22 de mayo de 2008
  • 25 de abril de 2020
simonjii dijo: Hola. Esto es sumamente interesante. ¿Qué tan seguro está de que funcionará con ConnectX-3 Pro? Estoy a punto de conseguir uno en Ebay para probarlo con nuestra MacPro 2013 (en una caja PCI TB externa) y nuestro servidor.
¿Crees que esas especificaciones deberían ser buenas? No de modelo: CX314A, P / N: MCX314A-BCCT, versión Pro, CONNECTX-3Pro EN 40 Gigabit Ethernet Adapter PCI-E 2-Port MELLANOX. Haga clic para ampliar...

Sí, estaría dispuesto a apostar a que funcionará y que la tarjeta MCX314A-BCCT tiene la identificación de dispositivo correcta 4103. Lo más importante para asegurarse es que la identificación del dispositivo coincida con la de la tarjeta ATTO, y esta sí . Mucha suerte, por favor publique sus resultados ... desafortunadamente no he tenido el dinero de sobra para comprar una de estas tarjetas para probar debido a toda la pandemia de covid-19. Su peor caso es que el controlador simplemente no funcionará, y si eso sucede, puede actualizarlo al firmware original y simplemente devolvérselo al vendedor en eBay.

Ver elemento multimedia 'data-single-image =' 1 '> Y

evilzardoz

Oct 19, 2008
  • 5 de mayo de 2020
Oye,

¡Esto es realmente genial! Es una pena que todas mis tarjetas Mellanox Connect-X 3 sean CX354A o CX353A. ¡Sería curioso si hubiera una manera de hacer que funcionen! norte

nbritton

Poster original
22 de mayo de 2008
  • 5 de mayo de 2020
evilzardoz dijo: Oye,

¡Esto es realmente genial! Es una pena que todas mis tarjetas Mellanox Connect-X 3 sean CX354A o CX353A. ¡Sería curioso si hubiera una manera de hacer que funcionen! Haga clic para ampliar...

Probablemente haya una manera de piratear el controlador ATTO para usar tarjetas Mellanox estándar, pero no sé cómo hacerlo de la parte superior de mi cabeza y no tengo tiempo libre para investigarlo en este momento. S

Simonjii

20 abr 2020
  • 14 de mayo de 2020
Hola. Acabo de ordenar el MCX314A-BCCT y debería tenerlo a más tardar el 1 de junio. Informaré aquí o haré preguntas. S

Simonjii

20 abr 2020
  • 29 de mayo de 2020
Hola nbritton

Obtuve mi Connect X3-pro y actualicé el firmware en Linux. Ponlo en mi Mac Pro.
Pero, lamentablemente, parece que estoy exactamente en el mismo punto en el que estabas tú:
Ver elemento multimedia 'data-single-image =' 1 '>
Ver elemento multimedia 'data-single-image =' 1 '>

Me las arreglé para actualizar el firmware nuevamente en la Mac, pero no cambia nada. Parece el mismo problema con NVRAM. ¿Tiene alguna idea sobre cómo proceder?

Editar: llegué un poco más lejos. Pude restaurar la NVRAM a la configuración predeterminada con atinicnvr y ahora el mensaje NVRAM no encontrado desapareció. Sigue siendo el mismo en la herramienta de configuración ATTO. ¿Quizás necesitaríamos un archivo ATTO Nvram adecuado para copiar en la tarjeta? Última edición: 29 de mayo de 2020 Y

Cuenta eterna de Eric

Oct 2, 2020
  • 10 de diciembre de 2020
Hola a todos,

Estas son algunas cosas súper interesantes, ¿alguna actualización en este momento?

¡Salud! S

Simonjii

20 abr 2020
  • 19 de diciembre de 2020
Hola
No logré que funcionara. Al final obtuve una tarjeta pci Chelsio de 40 gbe, que se vende tan barata como Mellanox en Ebay y funciona perfectamente con un controlador oficial en OS X
Reacciones:Eric's EeternalAccount y canhaz D

DCswitch

Feb 25, 2019
  • 11 de junio de 2021
simonjii dijo: Hola
No logré que funcionara. Al final obtuve una tarjeta pci Chelsio de 40 gbe, que se vende tan barata como Mellanox en Ebay y funciona perfectamente con un controlador oficial en OS X Haga clic para ampliar...
Hola Simon, voy a bajar por esta madriguera de conejo ahora. Tengo problemas con el Chelsio T62100-LP-CR. Tengo una conexión a mi TrueNAS y funciona muy bien, pero siempre deja de compartir. Acabo de pedir un T5 40G usado para ver cómo funciona.

¿Puede decirme qué versión de macOS está ejecutando y los trucos especiales que puede haber hecho para que funcione sin problemas? Y

evilzardoz

Oct 19, 2008
  • Jul 8, 2021
¿Alguien ha tenido éxito? De lo contrario, ¿qué tarjetas de Chelsio recomienda la gente y se han mantenido estables? Sigo recibiendo caídas extrañas durante grandes transferencias en una tarjeta Solarflare y no me importaría un mejor rendimiento. Los controladores son 10.9 antiguos, por lo que no me sorprende que tenga problemas.

¿Las tarjetas Chelsio funcionan con adaptadores QSFP a SFP +? ¿QSFP genérico o de marca?

¿Qué pasa con el soporte de dispositivos en Big Sur? El otro elefante en la habitación es obviamente la situación de Apple Silicon ... D

DCswitch

Feb 25, 2019
  • Jul 8, 2021
evilzardoz dijo: ¿Alguien ha tenido éxito? De lo contrario, ¿qué tarjetas de Chelsio recomienda la gente y se han mantenido estables? Sigo recibiendo caídas extrañas durante grandes transferencias en una tarjeta Solarflare y no me importaría un mejor rendimiento. Los controladores son 10.9 antiguos, por lo que no me sorprende que tenga problemas.

¿Las tarjetas Chelsio funcionan con adaptadores QSFP a SFP +? ¿QSFP genérico o de marca?

¿Qué pasa con el soporte de dispositivos en Big Sur? El otro elefante en la habitación es obviamente la situación de Apple Silicon ... Haga clic para ampliar...
He estado usando el Chelsio T580-LP-CR durante unos días y puedo decir que definitivamente no dejó caer acciones en un gabinete Thunderbolt. Acabo de instalarlo en mi Mac Pro 7,1 y hasta ahora está funcionando bien. Sin embargo, solo han pasado 10 minutos, así que informaré si baja las acciones. La tarjeta de 100G seguía cayendo acciones en la Mac Pro, pero estaba teniendo más suerte en la caja de TB.

No estoy seguro sobre el SFP +, pero compraría dos para que pueda ejecutar 40G. Chelsio usa genérico / Cisco.

churek

5 de mayo de 2017
  • 9 de noviembre de 2021
Hola Simonji,
Tengo la tarjeta atto original. ¿Puedo ayudarte con algo?