[TUTORIAL]How to setup SP_Flash_Tool_Linux (MTK/MediaTek Soc)

Search This thread

DrSliperyFists

New member
Sep 10, 2019
4
0
this is what happens after running ./flash_tool

libpng warning: iCCP: known incorrect sRGB profile
X Error: BadAccess (attempt to access private resource denied) 10
Extension: 130 (MIT-SHM)
Minor opcode: 1 (X_ShmAttach)
Resource id: 0x3400002
X Error: BadShmSeg (invalid shared segment parameter) 128
Extension: 130 (MIT-SHM)
Minor opcode: 5 (X_ShmCreatePixmap)
Resource id: 0x340000b
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x340000c
libpng warning: iCCP: known incorrect sRGB profile
QObject::moveToThread: Cannot move objects with a parent
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x340000c
X Error: BadAccess (attempt to access private resource denied) 10
Extension: 130 (MIT-SHM)
Minor opcode: 1 (X_ShmAttach)
Resource id: 0x13f
X Error: BadShmSeg (invalid shared segment parameter) 128
Extension: 130 (MIT-SHM)
Minor opcode: 5 (X_ShmCreatePixmap)
Resource id: 0x3400027
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x3400028
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x3400028
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x3400028
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x3400028
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x3400028
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x3400028
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x3400028
comboTimeout index(3) saved.
X Error: BadPixmap (invalid Pixmap parameter) 4
Major opcode: 54 (X_FreePixmap)
Resource id: 0x3400028
X Error: BadShmSeg (invalid shared segment parameter) 128
Extension: 130 (MIT-SHM)
Minor opcode: 2 (X_ShmDetach)
Resource id: 0x3400027
X Error: BadPixmap (invalid Pixmap parameter) 4
Major opcode: 54 (X_FreePixmap)
Resource id: 0x340000c
X Error: BadShmSeg (invalid shared segment parameter) 128
Extension: 130 (MIT-SHM)
Minor opcode: 2 (X_ShmDetach)
Resource id: 0x340000b




This works only on Linux 64-bit
DISCLAIMER: It is always risky to flash your mobile device. I do not and will not take any responsibility for bootloops and bricks.
Please check carefully that the ROM or recovery.img you want to flash is suitable for your specific device and for the sp_flash_tool. The firmware directory should neither contain meta-inf nor system folder, but something_with_a_scatter.txt and a system.img
Backup your phone before flashing!
Your phone's battery should be at least half charged (50 percent) before you start this.

I successfully ran these steps on my UMI Hammer with Linux Ubuntu 14.04 and 16.04. I do not have other devices or Linux derivates and do not plan to buy/install any.

CREDITS and a zillion thanks to Sergio Rivero for his excellent tutorial on mibqyyo.com!!!!
Also many thanks to N2K1 for giving me some more background information!

So here we go:

Step 1:
If you haven't done so before, install the Linux generic usb-drivers package:
Code:
sudo apt-get update
sudo apt install libusb-dev
Download SP Flash Tool Linux (latest version): http://mtk2000.ucoz.ru/load/soft/soft_mtk/sp_flash_tool/5-1-0-14 (Password to extract currently is mtk2000v3)
or here https://androidmtk.com/smart-phone-flash-tool
In case you haven't done before, install unrar:
Code:
sudo apt install unrar
Extract the downloaded file -> graphic file manager (e.g. Nautilus): double-click and extract. Terminal:
Code:
unrar x path_to_file
(from now on: please adapt paths to your own settings)
Move the new folder „sp_flash_tool“ to a directory of your choice.
Code:
mv /home/username/Downloads/sp_flash_tool /home/username/...
You might also need to install libqtwebkit4 (it just happened to me on Linux Ubuntu 16.04):
Code:
sudo apt install libqtwebkit4

[Only For Ubuntu 16.10 and newer]
Run
Code:
sudo wget -q -O /tmp/libpng12.deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb && dpkg -i /tmp/libpng12.deb && rm /tmp/libpng12.deb
These libraries are still required for the flash tool but have been removed from new Ubuntu versions.
Thanks @hanalinqu and @z3r0c00l_2k for this information!

Step 2:

Change into the newly created directory:
Code:
cd /sp_flash_tool
We make one file executable by typing:
Code:
chmod +x flash_tool

In order to avoid running the flash_tool as root user, you need to add a standard user to the usergroup "dialout" (thanks to @egalus for this bit!)
Code:
sudo adduser username dialout
For Arch Linux:
Code:
gpasswd -a username uucp

and activate the membership immediately
Code:
newgrp - dialout
(Arch Linux):
Code:
newgrp - uucp

Step 3:

Now you can open the tool:

Code:
./flash_tool
or double-click on the flash_tool icon.
You can try at this stage if the flash tool connects to your phone:
In the user interface, choose tab „Download“. Hit "scatter-loading", navigate to a directory with a valid firmware for your device and choose the scatter-file.
For testing purposes uncheck "name" and check one of the smaller files in the list below (for example "logo")
Switch off your device. Hit the "Download" button in SP_Flash_Tool and connect your phone to the computer. Some devices require you to take off the battery for about 10 seconds, with others you need to press Vol+ or Vol- while plugging the cable into the phone. Please look up device-specific threads and try out different options.

If nothing happens at all, open a second terminal, run
Code:
dmesg | grep usb
and look out for a MediaTek entry. If there is none → did you install libusb-dev (Step 1?)
If the answer is yes, you might need to create a persistent udev rule for the MTK Preloader:
Code:
sudo gedit /etc/udev/rules.d/80-persistent-usb.rules
Add the following line to the file:
Code:
SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="*"
Save the file and exit.
Reload the usb-rules:
Code:
sudo service udev restart
Disconnect the usb data cable from the computer and the smartphone. Close the flash tool. Switch on your phone (fastboot mode will do). Repeat the first paragraph of Step 3.

If the tool connects, within a few seconds a red progress bar will appear. Unfortunately, in my case an error message came along with it:
S_BROM_CMD_JUMP_DA_FAIL (2035)
There is a connection, but also one more obstacle to overcome...

Step 4:
Now we come to the interesting part, which cost me 2 weeks of (futile) research and frustration. Finally I found Sergio Riveros tutorial on mibqyyo. Thanks to him again and again and again for this priceless piece of information :)
To put it in different words: The modem manager controls port /dev/ttyACM0 and disables the Flash Tool. So we blacklist it for the two MTK vendor IDs the flash tool uses:
Code:
sudo gedit /etc/udev/rules.d/20-mm-blacklist-mtk.rules
You insert these two lines:
Code:
ATTRS{idVendor}=="0e8d", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="6000", ENV{ID_MM_DEVICE_IGNORE}="1"
Save the file, exit and restart udev:
Code:
sudo service udev restart

Switch your phone on (fastboot mode will suffice) and off again.

Step 5:
Code:
./flash_tool
or double-click on the flash_tool icon.
Now everything should run smoothly. In case you encounter
Code:
BROM ERROR : S_SECURITY_SF_CODE_FORMAT_FORBIDDEN (6012) , MSP ERROE CODE : 0x00
change the download agent to MTK_AllInOne_DA.bin (screenshot #4)
There are plenty of tutorials on the web for the further steps.
Happy flashing! When a green circle with a white checkmark appears, you are done. You can close the flash tool and disconnect your phone. For a clean start with a new ROM boot into recovery and wipe data/factory reset.
 

Miss Montage

Senior Member
Mar 3, 2015
208
156
The error messages hint to conflicts with x-server (graphics). Please try a double click on flash_tool.
And please do not full quote the op, it clutters the thread.
 

scheichxda

Senior Member
Aug 12, 2009
51
2
executing DADownloadAll... and nothing more

Hello

I am trying to recover a "Head Unit with AC8227l YT9217 YT9218 1GB/16GB"

But the story ends with

"USB port detected: /dev/ttyACM0
BROM connected
Downloading & Connecting to DA...
connect DA end stage: 2, enable DRAM in 1st DA: 0
COM port is open. Trying to sync with the target...
DA Connected
executing DADownloadAll...



and nothing more.


I have tried:

- Volume up/down

- Battery in out


but no success.


Thank you in advance
 

Ndanou jean-claude

New member
Sep 27, 2018
2
0
I need help please. I encounter the error: "BROM ERROR: S_BROM_DOWNLOAD_DA_FAIL (2004)" when I try to put the ROM in my Infinix HOT 6. I use Sp_flash_tool 5.17 on linux. I am waiting for your many answers
 

opticyclic

Senior Member
Nov 15, 2012
195
49
[Only For Ubuntu 16.10 and newer]
Run
Code:
sudo wget -q -O /tmp/libpng12.deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb && sudo dpkg -i /tmp/libpng12.deb && rm /tmp/libpng12.deb
These libraries are still required for the flash tool but have been removed from new Ubuntu versions.
Thanks @hanalinqu and @z3r0c00l_2k for this information!

You shouldn't really be installing a package from an old repo on your system.

The script contains this:
Code:
LD_LIBRARY_PATH=$dirname:$dirname/lib
export LD_LIBRARY_PATH

This means that it looks in the lib dir for any extra dependencies.
Therefore, you should be able to extract the libpng12.so.0.54.0 out of the deb and copy it to the lib dir without affecting the rest of the system.

Code:
dpkg -x libpng12-0_1.2.54-1ubuntu1.1_amd64.deb /tmp/libpng2
cp /tmp/libpng2/lib/x86_64-linux-gnu/libpng12.so.0.54.0 lib
cd lib
ln -s libpng12.so.0.54.0 libpng12.so.0
 
  • Like
Reactions: Miss Montage
After loading the scatter file, the fash tool is closed automatically.
This is the error message shown in terminal:
sysname:Linux
nodename:foxhole
release:5.3.0-28-generic
version:#30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020
machine:x86_64

domainame:(none)
cur_kernel_version = 5.3.0
QObject::moveToThread: Cannot move objects with a parent
support_dl_cert_to_storage: 0
Application asked to unregister timer 0xb00001a which is not registered in this thread. Fix application.
Qt Concurrent has caught an exception thrown from a worker thread.
This is not supported, exceptions thrown in worker threads must be
caught before control returns to Qt Concurrent.
terminate called after throwing an instance of 'std::eek:ut_of_range'
what(): vector::_M_range_check
Aborted (core dumped)
 

Miss Montage

Senior Member
Mar 3, 2015
208
156
@soorajsp: it appears to me that the scatter file might be invalid (due to the "out of range" message). Which phone do you try to flash? Which ROM and scatter file did you choose?
 

Miss Montage

Senior Member
Mar 3, 2015
208
156
@opticyclic: thanks for the information, I updated the OP accordingly. Please bear in mind that I haven't used the SP Flash Tool for years now, but I try to keep the tutorial up to date nonetheless.
 
stuck on downloading DA 100%

@soorajsp: it appears to me that the scatter file might be invalid (due to the "out of range" message). Which phone do you try to flash? Which ROM and scatter file did you choose?
That was the issue of scatter file. Now its stuck on downloading DA. 100% completed, but its kind of stuck.
nothing else happens
 

roguedbear

Member
Dec 21, 2019
10
2
Stuck at DA 100%

Did you blacklist modemmanager?

I'm having the stuck at DA/red bar problem too.
I followed each step including blacklisting and persistent-usb rules thing

the error that the terminal dialog gives is: S_FT_DA_NO_RESPONSE
(I am running Ubuntu 18.04 )

Code:
Connecting to BROM...
Scanning USB port...
Search usb, timeout set as 3600000 ms
add@/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2

add@/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0

add@/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.1

bind@/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0

add@/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.1/tty/ttyACM0

vid is 0e8d

device vid = 0e8d

pid is 2000

device pid = 2000

com portName is: /dev/ttyACM0

Total wait time = -1583507951.000000
USB port is obtained. path name(/dev/ttyACM0), port name(/dev/ttyACM0)
USB port detected: /dev/ttyACM0
BROM connected
Downloading & Connecting to DA...
connect DA end stage: 2, enable DRAM in 1st DA: 0
COM port is open. Trying to sync with the target...
Failed to Connect DA: S_FT_DA_NO_RESPONSE(4001)
Disconnect!
BROM Exception! ( ERROR : S_FT_DA_NO_RESPONSE (4001)

DA didn't send response data to FlashTool!
[HINT]:
Please retry the following steps:
1. retry a new cable;
2. retry a new com port;
3. retry a new device;
4. restart the computer then retry again.)((ConnectDA,../../../flashtool/Conn/Connection.cpp,146))

(I eventually plugged out the cable from phone after alot of waiting and then i got the error message from sp tool)

This thread: https://forum.hovatek.com/thread-439.html lists all the problem/solution, and for stuck at DA, it suggests to uninstall and reinstall MediaTek drivers.
Stuck at Download DA 100%

Message: Download DA 100%

Meaning: SP Flash tool is having trouble communicating with the device

Solution:
Uninstall and re-install Mediatek drivers

so the solution would be to reinstall MediaTek driver? but how?


(PS: I'm trying this on my Moto E3 Power which is stuck on bootloop, so Im flashing the stock rom. And to make things worse.... this is my only working phone)
 
Last edited:

Miss Montage

Senior Member
Mar 3, 2015
208
156
Sorry for your trouble...
First: which version of SP flash tool do you use?
For SP Flash tool error 4001 I find several approaches on the web.
Most of them advice to reconnect the battery once the red progress bar has reached 100 percent. It might do to hold the volume + or - button at that moment.
 

kanedagr

Senior Member
Feb 22, 2011
143
13
Galatsi
I am trying to run sp flash tool to send a scatter file for the frp problem. But it fails to open the port.

Code:
upport_dl_cert_to_storage: 0
Connecting to BROM...
Scanning USB port...
Search usb, timeout set as 3600000 ms
add@/devices/pci0000:00/0000:00:13.2/usb2/2-4

add@/devices/pci0000:00/0000:00:13.2/usb2/2-4/2-4:1.0

add@/devices/pci0000:00/0000:00:13.2/usb2/2-4/2-4:1.1

bind@/devices/pci0000:00/0000:00:13.2/usb2/2-4/2-4:1.0

add@/devices/pci0000:00/0000:00:13.2/usb2/2-4/2-4:1.1/tty/ttyACM0

vid is 0e8d

device vid = 0e8d

pid is 2000

device pid = 2000

com portName is: /dev/ttyACM0

Total wait time = -1615150741.000000
USB port is obtained. path name(/dev/ttyACM0), port name(/dev/ttyACM0)
USB port detected: /dev/ttyACM0
Connect BROM failed: S_COM_PORT_OPEN_FAIL(1013)
Disconnect!
BROM Exception! ( ERROR : S_COM_PORT_OPEN_FAIL (1013)

[COM] Failed to open COM port.
[HINT]:
Please retry the following steps:
1. retry a new cable;
2. retry a new com port;
3. retry a new device;
4. restart the computer then retry again.)((ConnectBROM,../../../flashtool/Conn/Connection.cpp,100))

And that happens only when the phone is already open and I'm deactivating. If it is already off nothing happens and the screen is opening to show the battery charging. It's scanning for the usb port but nothing happens.

I run "sudo dpkg --purge modemmanager" and it found the port instantly but it displays the above mesage again.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 61
    This works only on Linux 64-bit
    DISCLAIMER: It is always risky to flash your mobile device. I do not and will not take any responsibility for bootloops and bricks.
    Please check carefully that the ROM or recovery.img you want to flash is suitable for your specific device and for the sp_flash_tool. The firmware directory should neither contain meta-inf nor system folder, but something_with_a_scatter.txt and a system.img
    Backup your phone before flashing!
    Your phone's battery should be at least half charged (50 percent) before you start this.

    I successfully ran these steps on my UMI Hammer with Linux Ubuntu 14.04 and 16.04. I do not have other devices or Linux derivates and do not plan to buy/install any.

    CREDITS and a zillion thanks to Sergio Rivero for his excellent tutorial on mibqyyo.com!!!!
    Also many thanks to N2K1 for giving me some more background information!

    So here we go:

    Step 1:
    If you haven't done so before, install the Linux generic usb-drivers package:
    Code:
    sudo apt-get update
    sudo apt install libusb-dev
    Download SP Flash Tool Linux (latest version): http://mtk2000.ucoz.ru/load/soft/soft_mtk/sp_flash_tool/5-1-0-14 (Password to extract currently is mtk2000v3)
    or here https://androidmtk.com/smart-phone-flash-tool
    In case you haven't done before, install unrar:
    Code:
    sudo apt install unrar
    Extract the downloaded file -> graphic file manager (e.g. Nautilus): double-click and extract. Terminal:
    Code:
    unrar x path_to_file
    (from now on: please adapt paths to your own settings)
    Move the new folder „sp_flash_tool“ to a directory of your choice.
    Code:
    mv /home/username/Downloads/sp_flash_tool /home/username/...
    You might also need to install libqtwebkit4 (it just happened to me on Linux Ubuntu 16.04):
    Code:
    sudo apt install libqtwebkit4

    [Only For Ubuntu 16.10 and newer]
    Run
    Code:
    dpkg -x libpng12-0_1.2.54-1ubuntu1.1_amd64.deb /tmp/libpng2
    cp /tmp/libpng2/lib/x86_64-linux-gnu/libpng12.so.0.54.0 lib
    cd lib
    ln -s libpng12.so.0.54.0 libpng12.so.0
    These libraries are still required for the flash tool but have been removed from new Ubuntu versions.
    Thanks @hanalinqu, @z3r0c00l_2k https://forum.xda-developers.com/showpost.php?p=73484473&postcount=216 and @opticyclic https://forum.xda-developers.com/showpost.php?p=81543495&postcount=285 for this information!

    Step 2:

    Change into the newly created directory:
    Code:
    cd /sp_flash_tool
    We make one file executable by typing:
    Code:
    chmod +x flash_tool

    In order to avoid running the flash_tool as root user, you need to add a standard user to the usergroup "dialout" (thanks to @egalus for this bit!)
    Code:
    sudo adduser username dialout
    For Arch Linux:
    Code:
    gpasswd -a username uucp

    and activate the membership immediately
    Code:
    newgrp - dialout
    (Arch Linux):
    Code:
    newgrp - uucp

    Step 3:

    Now you can open the tool:

    Code:
    ./flash_tool
    or double-click on the flash_tool icon.
    You can try at this stage if the flash tool connects to your phone:
    In the user interface, choose tab „Download“. Hit "scatter-loading", navigate to a directory with a valid firmware for your device and choose the scatter-file.
    For testing purposes uncheck "name" and check one of the smaller files in the list below (for example "logo")
    Switch off your device. Hit the "Download" button in SP_Flash_Tool and connect your phone to the computer. Some devices require you to take off the battery for about 10 seconds, with others you need to press Vol+ or Vol- while plugging the cable into the phone. Please look up device-specific threads and try out different options.

    If nothing happens at all, open a second terminal, run
    Code:
    dmesg | grep usb
    and look out for a MediaTek entry. If there is none → did you install libusb-dev (Step 1?)
    If the answer is yes, you might need to create a persistent udev rule for the MTK Preloader:
    Code:
    sudo gedit /etc/udev/rules.d/80-persistent-usb.rules
    Add the following line to the file:
    Code:
    SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="*"
    Save the file and exit.
    Reload the usb-rules:
    Code:
    sudo service udev restart
    Disconnect the usb data cable from the computer and the smartphone. Close the flash tool. Switch on your phone (fastboot mode will do). Repeat the first paragraph of Step 3.

    If the tool connects, within a few seconds a red progress bar will appear. Unfortunately, in my case an error message came along with it:
    S_BROM_CMD_JUMP_DA_FAIL (2035)
    There is a connection, but also one more obstacle to overcome...

    Step 4:
    Now we come to the interesting part, which cost me 2 weeks of (futile) research and frustration. Finally I found Sergio Riveros tutorial on mibqyyo. Thanks to him again and again and again for this priceless piece of information :)
    The “modemmanager” package integrated by default within Linux Ubuntu 14.04 and later is not compatible with the MTK Flash Tool for Linux
    To put it in different words: The modem manager controls port /dev/ttyACM0 and disables the Flash Tool. So we blacklist it for the two MTK vendor IDs the flash tool uses:
    Code:
    sudo gedit /etc/udev/rules.d/20-mm-blacklist-mtk.rules
    You insert these two lines:
    Code:
    ATTRS{idVendor}=="0e8d", ENV{ID_MM_DEVICE_IGNORE}="1"
    ATTRS{idVendor}=="6000", ENV{ID_MM_DEVICE_IGNORE}="1"
    Save the file, exit and restart udev:
    Code:
    sudo service udev restart

    Switch your phone on (fastboot mode will suffice) and off again.

    Step 5:
    Code:
    ./flash_tool
    or double-click on the flash_tool icon.
    Now everything should run smoothly. In case you encounter
    Code:
    BROM ERROR : S_SECURITY_SF_CODE_FORMAT_FORBIDDEN (6012) , MSP ERROE CODE : 0x00
    change the download agent to MTK_AllInOne_DA.bin (screenshot #4)
    There are plenty of tutorials on the web for the further steps.
    Happy flashing! When a green circle with a white checkmark appears, you are done. You can close the flash tool and disconnect your phone. For a clean start with a new ROM boot into recovery and wipe data/factory reset.
    5
    edent; BROM Exception! ( BROM ERROR : S_COM_PORT_OPEN_FAIL (1013) [COM said:
    Failed to open COM port.[/CODE]

    dear edent,

    I had the same as you (error1013)

    I just started flash_tool in root mode (sudo ./flash_tool.sh)
    and it worked...

    arnold
    3
    Please change your tutorial and remove the security risk of executing flash_tool as root.
    As far as I understand the flashing procedure it is just using a serial connection to upload the rom to the mobile device thus it only needs one special right not every user might have:
    The user needs write permission to the MTK usb-device.
    At least for ubuntu it suffices to add the user to the dialout group as groupmembers get access to every modem.
    Maybe logging out and back in again after adding the user to the group is needed.

    I tested this by flashing my Jiayu S3 (which used /dev/ttyACM0) using ubuntu 15.04 and a user who is a member of the dialout group - no problem at all, thus no need for root except for adding the user to the group dialout.

    Never execute anything you download from places like needrom as root user - at least not on a system you need or have data on that you need!
    2
    Well, that's what life's supposed to be - give and take :) You are especially welcome!
    2
    Great post!

    Just wanted to say you saved me HOURS OR DAYS OR WEEKS of time on the modemmanager thing. I have Arch Linux, successfully ported over this tutorial, but I had no idea the modemmanager package was causing the issue. SP Flash Tool was the last frontier for using my Android devices on Linux. Thanks so much!